Payment window integration (plugin)
Example of a link to open a Nagad payment window:
https://plugin.{server_URL}/? label =label ¤cy_code =BDT &lang =lang &wallet_type =nagad &custom_transaction_id =custom_transaction_id &fixed_amount =fixed_amount &payment_url_success_id=2&payment_url_pending_id=3 &payment_url_fail_id=1 &success_url=hash &fail_url=hash &pending_url=hash |
---|
wallet_type=nagad currency_code=BDT Available languages (lang): en, bn |
Pay attention to the description of the parameters payment_url_success_id / payment_url_fail_id/ payment_url_pending_id and success_url / fail_url / pending_url. |
For the description of all the plug-in parameters click here.
URL: https://api.{server_URL}/api/v1/transaction/create/nagad?secret={pluginapi_secret}
At this stage, we provide the details of the wallet to which the user must make a payment.
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Max Length | Description |
currency | string | yes | 3 | Currency code |
label | string | yes | 190 | The unique identifier (ID) of the user who makes the payment. |
{ 'currency': 'BDT', 'label': 'eligendi' } |
{ "status": "ok", "params": { "identifier": "324342342", "account_type": "personal" //Wallet account type. Possible values: agent - agent account, personal - personal account, merchant - merchant account } } |
{ 'status': 'fail' 'message': 'MESSAGE' } |
The user goes to the Nagad service and makes payments there depending on the account type of the provided wallet.
To a personal account: via "Send money":
To an agent account: via "Cash out":
To merchant account: via "Make Payment":
URL: http://api.{server_URL}/api/v1/transaction/activate?secret={pluginapi_secret}
At this stage, the user sends the transaction number, which you send to Paykassma for activation.
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Max Length | Description |
currency_code | string | yes | 3 | Currency code. |
wallet_type | string | yes | 190 | Method (PS). |
label | string | yes | 190 | The unique identifier (ID) of the user who makes the payment. |
key1 | string | yes | 190 | Transaction ID received from the user. Nagad - 10 symbol, letters and numbers. |
amount | float | yes | 256 | Amount of transaction. |
custom_transaction_id | string | yes | 190 | Transaction ID in the Client's system. Must be unique. |
{ "currency_code": "BDT", "wallet_type": "nagad", "label": "55", "amount": 500, "key1": "AAD6DHSAVC", "custom_transaction_id": "123465477897" } |
{ "status": "ok", "deposit": true, "deposit_amount": 500, "currency": { "code": "BDT", "symbol": "BDT" } } |
{ "status": "pending", "message": "The deposit status check has been started. The operation may take longer than expected. Upon completion of the verification, the funds will be credited to your account" } |
{ "status": "possible_transaction_created", "message": "Transaction not found. Possible transaction created" } |
{ 'status': 'fail' 'message': 'MESSAGE' } |
For the general documentation on post backs click here.
{ "signature": "56beb10ead1cd49475f1e16dd668a29fff3d4fb9", "wallet_type": "nagad", "amount": 600, "currency_code": "BDT", "label": "234", "converted_amount": {"USD": 5.5, "INR": 458, "EUR": 5.05, "IDR": 84206.21, "MYR": 25.57, "VND": 131151.4, "SGD": 7.47, "THB": 193.98, "NGN": 4209.6, "TRY": 148.98, "AED": 20.19, "CAD": 7.46, "AUD": 8.62, "BDT": 600, "AFN": 462.19, "ALL": 535.91, "AMD": 2119.43, "AOA": 4550.8, "ARS": 1918.56, "AWG": 9.89, "AZN": 9.34, "BAM": 9.87, "BBD": 10.99, "BGN": 9.9, "BHD": 2.07, "BIF": 15540.93, "BMD": 5.5, "BND": 7.45, "BOB": 37.88, "BRL": 27.32, "BSD": 5.5, "BTC": 0.00021022, "BTN": 455.77, "BWP": 74.58, "BYN": 13.84, "BZD": 11.05, "CDF": 13600.07, "CHF": 4.85, "CLF": 0.17, "CLP": 4753.93, "CNH": 40.18, "CNY": 40.02, "COP": 22536.26, "CRC": 2925.32, "CUC": 5.5, "CUP": 141.53, "CVE": 556.43, "CZK": 121.42, "DJF": 976.05, "DKK": 37.67, "DOP": 311.1, "DZD": 749.34, "EGP": 169.39, "ERN": 82.44, "ETB": 302.52, "FJD": 12.49, "FKP": 4.32, "GBP": 4.32, "GEL": 14.4, "GGP": 4.32, "GHS": 62.02, "GIP": 4.32, "GMD": 332.79, "GNF": 47102.19, "GTQ": 43.03, "GYD": 1148.02, "HKD": 43.04, "HNL": 134.9, "HRK": 38.09, "HTG": 745.53, "HUF": 1939.28, "ILS": 20.81, "IMP": 4.32, "IQD": 7179.8, "IRR": 232348.9, "ISK": 725.15, "JEP": 4.32, "JMD": 846.56, "JOD": 3.89, "JPY": 799.22, "KES": 782.37, "KGS": 485.14, "KHR": 22726.5, "KMF": 2487, "KPW": 4946.52, "KRW": 7365.69, "KWD": 1.69, "KYD": 4.57, "KZT": 2489.17, "LAK": 106934.11, "LBP": 82282.64, "LKR": 1770.53, "LRD": 1023.65, "LSL": 104.54, "LYD": 26.44, "MAD": 54.04, "MDL": 97.44, "MGA": 24817.48, "MKD": 310.95, "MMK": 11511.47, "MNT": 18961.65, "MOP": 44.22, "MRO": 0, "MRU": 207.84, "MUR": 249.7, "MVR": 84.5, "MWK": 5945.5, "MXN": 93.75, "MZN": 351.07, "NAD": 105.03, "NIO": 200.54, "NOK": 58.55, "NPR": 729.23, "NZD": 9.28, "OMR": 2.11, "PAB": 5.5, "PEN": 20.39, "PGK": 19.99, "PHP": 308.95, "PKR": 1628.08, "PLN": 22.54, "PYG": 39804.77, "QAR": 19.98, "RON": 25, "RSD": 591.72, "RUB": 517.19, "RWF": 6485.95, "SAR": 20.61, "SBD": 46, "SCR": 74.05, "SDG": 3303.17, "SEK": 60.26, "SHP": 4.32, "SLL": 115251.1, "SOS": 3121.61, "SRD": 209.95, "SSP": 715.93, "STD": 122463.67, "STN": 123.63, "SVC": 47.96, "SYP": 13809.19, "SZL": 104.52, "TJS": 60.22, "TMT": 19.24, "TND": 16.96, "TOP": 13.14, "TTD": 37.18, "TWD": 175.39, "TZS": 13731.9, "UAH": 202.45, "UGX": 20472.66, "UYU": 207.44, "UZS": 66206.92, "VEF": 0, "VES": 173.52, "VUV": 652.51, "WST": 14.94, "XAF": 3310.73, "XAG": 0.24, "XAU": 0, "XCD": 14.85, "XDR": 4.11, "XOF": 3310.73, "XPD": 0, "XPF": 602.29, "XPT": 0.01, "YER": 1375.96, "ZAR": 104.77, "ZMW": 106.21, "ZWL": 1769.75, "ETH": 0.00327932, "LTC": 0.0848166, "DOGE": 86.06973908, "DASH": 0.20288551, "BCH": 0.02900566, "ZEC": 0.21915246, "ETC": 0.35471858, "XRP": 10.16340924, "TRX": 72.59371303, "XLM": 41.90497255, "WAVES": 3.60487891, "USDT": 5.49542797, "USDTTRC20": 0, "USDT20": 0}, "direction": "ingoing", "created_datetime": "2023-08-20 19:04:08", "access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK", "additional_data": [ { "activated_datetime": "2023-08-20 22:04:07", "exchanger_identifier": null, "comment": "", "amount": "600", "currency_code": "BDT", "wallet_type": "nagad", "stockpiling_id": 1061, "transaction_id": "52AD1EA4", "transaction_type": 1, "plugin_custom_order_id": "1234", "withdrawal_id": null, "withdrawal_status": null, "account_number": "", "account_name": "", "account_email": "", "bank_details": { "bank_code": "", "branch_code": "" } } ] } |
The Paykassma server is waiting for a response in json {"status": "ok"} response code 200, otherwise, when receiving a different response, Paykassma will forward the postback with a certain frequency. |
For the general documentation on the withdrawals of funds click here.
URL: https://api.{server_URL}/v2/withdrawal/create
Request method:
POST
Format:
JSON
Parameters:
Name | Type | Required | Description |
withdrawal_id | string(1-36) | yes | Withdrawal ID, if the parameter is not passed, then the system generates withdrawal _id. |
payment_system | string | yes | Payment system. |
amount | int | required | Additional requirements:
|
currency_code | string(3) | yes | Currency code. |
is_test | boolean | yes | The is_test parameter possible values:
|
label | string(1-36) | yes | The unique identifier (ID) of the user who makes the payment. |
account_email | string | yes | Email of the account holder. |
account_number | string | yes | Nagad account number, 11 digts, example "01XXXXXXXXX". |
signature | string | yes | Signature generated with private_key. |
{ "withdrawal_id": "af84c26f-931d-4c28-a30d-7b75e46b7685", "payment_system": "nagad", "amount": 6000, "currency_code": "BDT", "is_test": true, "label": "c81594cc-e4b1-4ed5-914c-3817f2ccf13a", "account_email": "[email protected]", "account_number": "01642234663", "signature": "98565041a9e126d325e864da0ba3d467f6ab0566" } |
{ "status": "ok", } |
{ 'status': 'fail' 'message': 'MESSAGE' } |
*If, when trying to create a withdrawal request, the amount of account balances in the currency of the request is less than the total amount of new and still incomplete applications, the error message"Insufficient balance" will be displayed (to configure this functionality, contact the TP Paykassma).
{ "status": "fail", "message": { "withdrawals_sum_amount": [ "Insufficient balance" ] } } |
{ "signature": "c36db9e7c7b45d429ee0ec5e4d2978cea1431287", "wallet_type": "nagad", "amount": 1000, "currency_code": "BDT", "label": "53928", "converted_amount": {"USD": 9.21, "INR": 759, "EUR": 8.41, "IDR": 139483.61, "MYR": 41.62, "VND": 218201.75, "SGD": 12.31, "THB": 316.46, "NGN": 7099.48, "TRY": 248.35, "AED": 33.83, "CAD": 12.24, "AUD": 13.94, "BDT": 1000, "AFN": 784.38, "ALL": 854.5, "AMD": 3556.83, "AOA": 7606.75, "ARS": 2535.36, "AWG": 16.6, "AZN": 15.66, "BAM": 16.4, "BBD": 18.42, "BGN": 16.41, "BHD": 3.47, "BIF": 26092.95, "BMD": 9.21, "BND": 12.29, "BOB": 63.67, "BRL": 43.91, "BSD": 9.21, "BTC": 0.00031913, "BTN": 758.01, "BWP": 121.08, "BYN": 23.26, "BZD": 18.57, "CDF": 22850.58, "CHF": 8.08, "CLF": 0.28, "CLP": 7755.8, "CNH": 66.11, "CNY": 66.02, "COP": 36235.92, "CRC": 4997.9, "CUC": 9.21, "CUP": 237.17, "CVE": 925.12, "CZK": 201.13, "DJF": 1640.56, "DKK": 62.65, "DOP": 518.32, "DZD": 1249.95, "EGP": 284.6, "ERN": 138.15, "ETB": 507.65, "FJD": 20.43, "FKP": 7.22, "GBP": 7.22, "GEL": 23.81, "GGP": 7.22, "GHS": 104.44, "GIP": 7.22, "GMD": 552.62, "GNF": 79269.03, "GTQ": 72.45, "GYD": 1927.74, "HKD": 71.79, "HNL": 226.67, "HRK": 63.34, "HTG": 1257.74, "HUF": 3275.81, "ILS": 33.61, "IMP": 7.22, "IQD": 12070.64, "IRR": 389595.44, "ISK": 1213.18, "JEP": 7.22, "JMD": 1423.49, "JOD": 6.52, "JPY": 1319.56, "KES": 1312.1, "KGS": 808.5, "KHR": 38055.79, "KMF": 4123.91, "KPW": 8289.26, "KRW": 11882.19, "KWD": 2.83, "KYD": 7.68, "KZT": 4095.55, "LAK": 178505.27, "LBP": 138302.79, "LKR": 2939.27, "LRD": 1716.8, "LSL": 163.89, "LYD": 44.04, "MAD": 90.75, "MDL": 164.7, "MGA": 41554.64, "MKD": 517.13, "MMK": 19349.5, "MNT": 31775.51, "MOP": 73.97, "MRO": 0, "MRU": 351.04, "MUR": 416.31, "MVR": 141.38, "MWK": 9706.21, "MXN": 154.95, "MZN": 586.93, "NAD": 164.5, "NIO": 337.1, "NOK": 94.28, "NPR": 1212.8, "NZD": 15, "OMR": 3.55, "PAB": 9.21, "PEN": 33.21, "PGK": 33.18, "PHP": 505.49, "PKR": 2649.6, "PLN": 37.25, "PYG": 67026.01, "QAR": 33.58, "RON": 41.46, "RSD": 986.28, "RUB": 848.04, "RWF": 10826.27, "SAR": 34.56, "SBD": 76.89, "SCR": 123.02, "SDG": 5539.99, "SEK": 98, "SHP": 7.22, "SLL": 193135.26, "SOS": 5246.97, "SRD": 355.72, "SSP": 1199.73, "STD": 205221.93, "STN": 205.35, "SVC": 80.62, "SYP": 23141.14, "SZL": 163.79, "TJS": 100.94, "TMT": 32.33, "TND": 28.37, "TOP": 21.65, "TTD": 62.58, "TWD": 291, "TZS": 22661.57, "UAH": 340.28, "UGX": 33433.14, "UYU": 347.09, "UZS": 107190.46, "VEF": 0, "VES": 271.47, "VUV": 1093.46, "WST": 25.04, "XAF": 5514.18, "XAG": 0.38, "XAU": 0, "XCD": 24.89, "XDR": 6.86, "XOF": 5514.18, "XPD": 0.01, "XPF": 1003.14, "XPT": 0.01, "YER": 2305.34, "ZAR": 166.99, "ZMW": 174.84, "ZWL": 2965.71, "ETH": 0.00502918, "LTC": 0.1013311, "DOGE": 119.5468743, "DASH": 0.29575773, "BCH": 0.03805325, "ZEC": 0.30984009, "ETC": 0.50497011, "XRP": 13.35802786, "TRX": 117.94919758, "XLM": 62.13565895, "WAVES": 4.85538562, "USDT": 9.2134184, "USDTTRC20": 0, "USDT20": 0}, "direction": "outgoing", "created_datetime": "2023-08-01 13:30:03", "access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK", "additional_data": [ { "activated_datetime": "", "exchanger_identifier": "", "comment": "1", "amount": "1000", "currency_code": "BDT", "wallet_type": "nagad", "stockpiling_id": null, "transaction_id": "", "transaction_type": null, "plugin_custom_order_id": "", "withdrawal_id": "10304", "withdrawal_status": 5, "account_number": "123456789013", "account_name": "", "account_email": "", "bank_details": { "bank_code": null, "branch_code": null } } ] } |
The Paykassma server is waiting for a response in json {"status": "ok"} response code 200, otherwise, when receiving a different response, Paykassma will forward the postback with a certain frequency. |
After processing the withdrawal, Paykassma will send a postback about the withdrawal result with status, signed with a signature.
1 | SUCCESS | Status for withdrawal when the withdrawal request has been successfully processed. |
5 | FAIL | Status for withdrawal when the withdrawal request was rejected. |
To create a withdrawal request, you need to go to the Withdrawals page Payments → Withdrawals and perform the following steps