ডেভেলপার apps
OAuth অ্যাপ্লিকেশন
অংশীদার অ্যাপ তৈরি করুন, কোম্পানিগুলিতে অর্পিত অ্যাক্সেসের অনুরোধ করুন এবং আবদ্ধ OAuth টোকেন সহ MakeCrypto API-কে কল করুন।
বিকাশকারী পোর্টাল
https://apps.makecrypto.io এ অংশীদার অ্যাপ্লিকেশন তৈরি এবং পরিচালনা করুন। অ্যাপ্লিকেশনগুলি একটি MakeCrypto কোম্পানির অন্তর্গত এবং পুনঃনির্দেশিত URI, অনুমোদিত OAuth স্কোপ, webhooks, আইকন, সমর্থন যোগাযোগ, গোপনীয়তা নীতি এবং সম্মতির সময় দেখানো শর্তাবলী সংজ্ঞায়িত করে৷
প্রতিটি গোপনীয় অ্যাপ্লিকেশন একটি ক্লায়েন্ট গোপন আছে. গোপনটি একবার দেখানো হয় যখন এটি তৈরি বা ঘোরানো হয়, তারপর শুধুমাত্র একটি হ্যাশ হিসাবে সংরক্ষণ করা হয়। সর্বজনীন অ্যাপ্লিকেশনগুলিকে অবশ্যই PKCE ব্যবহার করতে হবে এবং গোপনীয়তা পাবেন না।
PKCE এর সাথে অনুমোদনের কোড
MakeCrypto অংশীদার অ্যাপ্লিকেশনের জন্য প্রতিনিধি কোম্পানি OAuth সমর্থন করে। একটি সঠিক নিবন্ধিত পুনঃনির্দেশ URI এবং একটি PKCE S256 চ্যালেঞ্জ সহ অনুমোদনের শেষ পয়েন্টে ব্যবহারকারীকে পাঠিয়ে প্রবাহ শুরু করুন।
GET https://makecrypto.io/oauth/authorize
?response_type=code
&client_id=mco_app_...
&redirect_uri=https%3A%2F%2Fpartner.example%2Fcallback
&scope=company%3Aread%20makepay%3Apayment-links%3Aread
&resource=https%3A%2F%2Fmakecrypto.io%2Fapi%2Fpartner%2Fv1
&code_challenge=BASE64URL_SHA256_VERIFIER
&code_challenge_method=S256
ব্যবহারকারী কোম্পানি বেছে নেয়, অনুরোধ করা অনুমতিগুলি পর্যালোচনা করে এবং অ্যাক্সেস অনুমোদন বা প্রত্যাখ্যান করে। অনুমোদন সফল হলে, MakeCrypto একটি স্বল্পস্থায়ী অনুমোদন কোড সহ পুনরায় নির্দেশিত হয়।
টোকেন এন্ডপয়েন্টে কোড বিনিময় করুন। গোপনীয় ক্লায়েন্টরা client_secret_basic বা client_secret_post দিয়ে প্রমাণীকরণ করে; পাবলিক ক্লায়েন্টরা তাদের client_id এবং PKCE যাচাইকারীর মাধ্যমে প্রমাণীকরণ করে।
POST https://makecrypto.io/oauth/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic base64(client_id:client_secret)
grant_type=authorization_code
&code=mco_code_...
&redirect_uri=https%3A%2F%2Fpartner.example%2Fcallback
&code_verifier=ORIGINAL_PKCE_VERIFIER
অ্যাক্সেস টোকেন হল স্বল্পকালীন JWT বহনকারী টোকেন। রিফ্রেশ টোকেন প্রতিটি ব্যবহারে ঘোরে, এবং রিফ্রেশ-টোকেন পুনঃব্যবহার টোকেন পরিবারকে প্রত্যাহার করে।
অফিসিয়াল নেটিভ ইন্টিগ্রেশন, যেমন MakePay WordPress প্লাগইন, ডেভেলপার পোর্টাল বা শেয়ার করা ক্লায়েন্ট সিক্রেট ব্যবহার করে না। তারা POST /oauth/native/installations-এ প্রতি-স্টোরে একটি পাবলিক ইনস্টলেশন নিবন্ধন করে, সঠিক কলব্যাক URI ম্যাচিং ব্যবহার করে এবং DPoP-বাউন্ড টোকেনগুলি পায় যা অবশ্যই Authorization: DPoP এবং একটি ম্যাচিং DPoP প্রুফ হেডার সহ পাঠাতে হবে৷
অফিসিয়াল SDK
আপনি যখন HTTP ক্লায়েন্ট, পেমেন্ট-লিঙ্ক পেলোড এবং স্ক্র্যাচ থেকে webhook স্বাক্ষর যাচাইকরণ তৈরি না করে সার্ভার-সাইড ইন্টিগ্রেশন চান তখন অফিসিয়াল SDKগুলি ব্যবহার করুন৷
| SDK | জন্য এটি ব্যবহার করুন | গাইড |
|---|---|---|
| MakePay PHP SDK | PHP, Laravel, Symfony, কাস্টম checkout, এবং ব্যাকএন্ড পেমেন্ট-লিঙ্ক তৈরি। | PHP SDK |
| MakePay NPM SDK | Node.js, Next.js, TypeScript ব্যাকএন্ড এবং সার্ভার-সাইড webhook হ্যান্ডলার। | NPM SDK |
শেষবিন্দু
| উদ্দেশ্য | শেষবিন্দু |
|---|---|
| অনুমোদন | GET /oauth/authorize |
| টোকেন বিনিময় | POST /oauth/token |
| প্রত্যাহার | POST /oauth/revoke |
| আত্মদর্শন | POST /oauth/introspect |
| অনুমোদনের অনুরোধ পুশ করা হয়েছে | POST /oauth/par |
| স্থানীয় ইনস্টলেশন নিবন্ধন | POST /oauth/native/installations |
| JWKS | GET /oauth/jwks.json |
| অনুমোদন সার্ভার মেটাডেটা | GET /.well-known/oauth-authorization-server |
| সুরক্ষিত সম্পদ মেটাডেটা | GET /.well-known/oauth-protected-resource |
স্কোপ
| ব্যাপ্তি | অ্যাক্সেস |
|---|---|
company:read | নির্বাচিত কোম্পানির পরিচয় এবং মৌলিক সেটিংস পড়ুন। |
wallet:balances:read | নির্বাচিত কোম্পানির জন্য ওয়ালেট ব্যালেন্স পড়ুন। |
wallet:activity:read | মানিব্যাগ এবং নিষ্পত্তি কার্যকলাপ পড়ুন. |
makepay:payment-links:read | MakePay পেমেন্ট লিঙ্ক এবং পেমেন্ট স্ট্যাটাস পড়ুন। |
makepay:payment-links:write | MakePay পেমেন্ট লিঙ্ক তৈরি এবং আপডেট করুন। |
makepay:customers:read | MakePay গ্রাহকের রেকর্ড পড়ুন। |
makepay:customers:write | MakePay গ্রাহক রেকর্ড তৈরি এবং আপডেট করুন। |
makepay:subscriptions:read | MakePay সাবস্ক্রিপশন রেকর্ড পড়ুন। |
makepay:subscriptions:write | MakePay সদস্যতা তৈরি এবং আপডেট করুন। |
makepay:settings:read | MakePay merchant সেটিংস এবং সক্রিয় সম্পদ পড়ুন। |
makepay:settings:write | MakePay merchant সেটিংস এবং কলব্যাক কনফিগারেশন আপডেট করুন। |
makepay:webhooks:read | MakePay webhook এন্ডপয়েন্ট এবং ডেলিভারি লগ পড়ুন। |
makepay:webhooks:write | MakePay webhook ডেলিভারি তৈরি করুন, আপডেট করুন, পরীক্ষা করুন এবং পুনরায় চেষ্টা করুন। |
API রুট অনুমতি
| রুট | পদ্ধতি | প্রয়োজনীয় সুযোগ |
|---|---|---|
/api/partner/v1/makepay/payment-links | GET | makepay:payment-links:read |
/api/partner/v1/makepay/payment-links | POST | makepay:payment-links:write |
/api/partner/v1/makepay/customers | GET | makepay:customers:read |
/api/partner/v1/makepay/customers | POST | makepay:customers:write |
/api/partner/v1/makepay/subscriptions | GET | makepay:subscriptions:read |
/api/partner/v1/makepay/subscriptions | POST | makepay:subscriptions:write |
/api/partner/v1/makepay/settings | GET | makepay:settings:read |
/api/partner/v1/makepay/settings | PUT | makepay:settings:write |
/api/partner/v1/makepay/webhook-requests | GET | makepay:webhooks:read |
/api/partner/v1/companies/{id}/wallet/balances | GET | wallet:balances:read |
/api/partner/v1/companies/{id}/wallet/activity | GET | wallet:activity:read |
Webhook স্বাক্ষর করছে
অ্যাপ্লিকেশন webhooks টাইমস্ট্যাম্প এবং v1 স্বাক্ষর মান সহ একটি makecrypto-signature হেডার অন্তর্ভুক্ত করে। টাইমস্ট্যাম্পের সতেজতা যাচাই করুন, স্বাক্ষরিত পেলোডটিকে timestamp.rawBody হিসাবে পুনর্নির্মাণ করুন এবং শেষ পয়েন্ট তৈরি বা ঘোরানোর সময় একবার দেখানো webhook গোপনের সাথে স্বাক্ষরের তুলনা করুন।
সংযুক্ত অ্যাপ পরিচালনা
অনুমোদিত OAuth অনুদান Integrations -> Connected apps এর অধীনে কোম্পানির ড্যাশবোর্ডে দৃশ্যমান। কোম্পানির প্রশাসকরা অ্যাপের স্থিতি, শেষ অ্যাক্সেস এবং মঞ্জুর করা সুযোগগুলি পর্যালোচনা করতে পারেন, তারপর যখন কোনও অংশীদার সংযোগ কাজ করা বন্ধ করে দেয় তখন অ্যাক্সেস প্রত্যাহার করতে পারে।