Nagad
| Payment method's logo | |
| Payment method's type | E-wallet |
| Country | Bangladesh |
| Currency | BDT |
| Refund | No |
| Changed amount | No |
| Available operations | Purchase · Payout |
| Available payment types | P2C |
| Available purchase integrations | Purchase — Checkout · Purchase — H2H |
Purchase
Nagad purchases are available through Amanpay Checkout and Host-to-Host (H2H) integration.
Purchase — Checkout
To initiate a purchase with the Nagad payment method using Amanpay Checkout, add the following parameters to your request.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
merchantId | integer | Required | Your unique merchant ID that you got from Amanpay when integrating. |
paymentId | string | Required | Payment ID unique within your system. |
amount | number | Required | Purchase amount in major currency units, e.g., pass 10.52 for 10 dollars 52 cents or 11.00 for 11 dollars. |
currency | string | Required | Code of the purchase currency in the ISO-4217 alpha-3 format. |
customerId | string | Optional | Customer's ID unique within your system. If not passed in the request, the value from the customerEmail parameter is used. |
customerEmail | string | Required | Customer's email. |
paymentMethod | string | Required | Payment method's code. Pass nagad in this parameter to preselect this payment method for your customer on the checkout page. If not passed, the customer will have to choose the payment method themselves on the checkout page. |
paymentMethodType | string | Optional | Type of payment method. Possible values: p2p, p2c. |
nagadNumber | string | Optional | Customer's mobile phone number associated with their Nagad e-wallet. If not passed in the request, the customer will have to enter their mobile phone number themselves on the checkout page. Pass this parameter together with the paymentMethod parameter. |
returnUrl | string | Optional | URL to redirect the customer to after they've completed a payment. |
You can also add any optional parameters described in the Create a purchase request section.
Request example
curl -X POST "https://gateway.amanpay.io/payments/purchases/initiate" \
-H "Content-Type: application/json" \
-H "Authorization: b78d07bc3e51899182339bfb39c85ab8629085c80f9b2312444669a3bdd78cc0522a1bcca50ede6be3a90fcf489100304cde09e14fa51a175a5fed0e36f6c26b" \
-d '{
"merchantId": 1758378,
"paymentId": "payment_812",
"amount": 250.00,
"currency": "BDT",
"customerId": "customer174",
"customerEmail": "mark_cooper@example.com",
"paymentMethod": "nagad"
}'
{
"transactionId": "1003592",
"paymentID": "ORDER_100001_117_100",
"status": "PENDING",
"amount": 2000,
"currency": "BDT",
"redirectUrl": "https://page.amanpay.io/checkout/4cd90674-a78b-11f1-a028-06c956c96cf5",
"paymentType": "purchase"
}
{
"result_code": "DUPLICATE_PAYMENT_ID",
"result_message": "Payment ID already exists"
}
For the full list of possible responses, see Responses codes and messages.
Purchase — H2H
Nagad purchases are available through Host-to-Host integration.
Channel 1 — Nagad payment linkThe Nagad wallet payment URL will be provided in the callback and in the payment status response.
Channel information
| Type | P2C |
| Integration | H2H |
| Channel | Nagad payment link |
Request parameters
To initiate a purchase with the Nagad payment method via H2H integration, add the following parameters to your request.
| Parameter | Type | Required | Description |
|---|---|---|---|
merchantId | integer | Required | Your unique merchant ID that you got from Amanpay when integrating. |
paymentId | string | Required | Payment ID unique within your system. |
amount | number | Required | Purchase amount in major currency units. |
currency | string | Required | Code of the purchase currency in the ISO-4217 alpha-3 format. |
customerId | string | Optional | Customer's ID unique within your system. If not passed, the value from the customerEmail parameter is used. |
customerEmail | string | Required | Customer's email. |
paymentMethod | string | Required | Payment method's code. Pass nagad. |
paymentMethodType | string | Optional | Type of payment method. Possible values: p2p, p2c. |
nagadNumber | string | Optional | Customer's mobile phone number associated with their Nagad e-wallet. |
returnUrl | string | Optional | URL to redirect the customer to after they've completed a payment. |
Request example
curl -X POST "https://gateway.amanpay.io/payments/purchases/initiate" \
-H "Content-Type: application/json" \
-H "Authorization: b78d07bc3e51899182339bfb39c85ab8629085c80f9b2312444669a3bdd78cc0522a1bcca50ede6be3a90fcf489100304cde09e14fa51a175a5fed0e36f6c26b" \
-d '{
"merchantId": 1758378,
"paymentId": "payment_812",
"amount": 2000.00,
"currency": "BDT",
"customerId": "customer174",
"customerEmail": "mark_cooper@example.com",
"paymentMethod": "nagad"
}'
{
"transactionId": "1002858",
"paymentID": "ORDER_100001_316_852",
"status": "PENDING",
"amount": 2000,
"currency": "BDT",
"paymentType": "purchase"
}
{
"result_code": "DUPLICATE_PAYMENT_ID",
"result_message": "Payment ID already exists"
}
For the full list of possible responses, see Responses codes and messages.
Callback with Nagad payment data
H2H only
The following table contains the callback parameters.
| Parameter | Type | Required | Description |
|---|---|---|---|
transactionId | integer | Required | Payment ID within the Amanpay payment platform. |
operationId | integer | Optional | Operation ID within the Amanpay payment platform. |
additionalData | object | Required | Contains additional payment-related parameters required by the payment platform, such as QR data. |
status | object | Required | Purchase status. Possible values: PENDING — additional data is required to continue the purchase flow. |
Callback example
{
"additional_data": {
"PaymentData": "https://payment.mynagad.com:30000/check-out/MDgxNDE3MDcyNzU2NS42ODYwMDUxMTMyNjUzOTkuQVBCOVlBNkZETjMuZmI4MWNkMjUzMDU4OGIxYTUyMmQ="
},
"operationId": 653725,
"transactionId": 102073,
"status": "PENDING"
}
Payout
To initiate a payout with the Nagad payment method, add the following parameters to your request.
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
merchantId | integer | Required | Your unique merchant ID that you got from Amanpay when integrating. |
paymentId | string | Required | Payment ID unique within your system. |
amount | number | Required | Payout amount in major currency units, e.g., pass 10.52 for 10 dollars 52 cents or 11.00 for 11 dollars. |
currency | string | Required | Code of the payout currency in the ISO-4217 alpha-3 format. |
customerId | string | Optional | Customer's ID unique within your system. If not passed in the request, the value from the customerEmail parameter is used. |
customerEmail | string | Required | Customer's email. |
customerName | string | Required | Customer's full name. |
paymentMethod | string | Required | Payment method's code. Pass nagad in this parameter. |
recipientType | string | Required | Customer's account type. Pass mobile_wallet in this parameter. |
recipientMobileNumber | string | Required | Customer's mobile phone number associated with their Nagad e-wallet. |
Request example
curl -X POST "https://gateway.amanpay.io/payments/payouts/initiate" \
-H "Content-Type: application/json" \
-H "Authorization: b78d07bc3e51899182339bfb39c85ab8629085c80f9b2312444669a3bdd78cc0522a1bcca50ede6be3a90fcf489100304cde09e14fa51a175a5fed0e36f6c26b" \
-d '{
"merchantId": 1758378,
"paymentId": "payment_812",
"amount": 500.00,
"currency": "BDT",
"customerId": "customer174",
"customerEmail": "mark_cooper@example.com",
"customerName": "Mark Cooper",
"paymentMethod": "nagad",
"recipientType": "mobile_wallet",
"recipientMobileNumber": "285937571757185"
}'
{
"transactionId": "1003685",
"paymentID": "payment_812",
"status": "PENDING",
"amount": 500,
"currency": "BDT",
"paymentType": "payout"
}
{
"result_code": "DUPLICATE_PAYMENT_ID",
"result_message": "Payment ID already exists"
}
For the full list of possible responses, see Responses codes and messages.