Skip to main content

Nagad

Accept payments

Receive payments from customers using their nagad wallet.

Send payouts

Send funds directly to a recipient's nagad wallet.

Integration

Available through Checkout and H2H integrations.

TypeE-wallet
CountryBangladesh
CurrencyBDT
RefundNo
Changed amountYes
Operations

Purchase · Payout

Payment typesP2C · P2P
Purchase integrations

Checkout · H2H

Nagad is a digital wallet and mobile financial service available in Bangladesh. Amanpay supports Nagad for both customer payments and payouts.

For purchases, customers can pay using their nagad wallet through Checkout or H2H integration.

For payouts, funds are sent directly to the recipient's nagad wallet using their mobile number.


Purchase​

Nagad purchases are available through Amanpay Checkout and Host-to-Host (H2H) integration.

ParameterValue
URLhttps://gateway.amanpay.io
API endpoint/payments/purchases/initiate
HTTP request methodPOST
Request body formatJSON

Purchase · Checkout​

CHECKOUT

To initiate a purchase with the Nagad payment method using Amanpay Checkout, add the following parameters to your request.

Request parameters​
HeaderValueRequiredDescription
Content-Typeapplication/jsonRequiredHTTP header indicating the media type of the resource sent in the request body.
AuthorizationcalculatedRequiredFor more details about request signature generation, see the About the signature section.
ParameterTypeRequiredDescription
merchantIdintegerRequiredYour unique merchant ID that you got from Amanpay when integrating.
paymentIdstringRequiredPayment ID unique within your system.
amountnumberRequiredThe amount is specified in major units and may include decimal places, for example, 500.50.
currencystringRequiredCode of the purchase currency in the ISO-4217 alpha-3 format.
customerIdstringConditionalCustomer's ID unique within your system. If not passed in the request, the value from the customerEmail parameter is used.

Either customerEmail or customerId must be provided.
customerEmailstringConditionalCustomer's email.
Either customerEmail or customerId must be provided.
customerIpstringOptionalCustomer's IP address.
paymentMethodstringOptionalPayment 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.
nagadNumberstringOptionalCustomer'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.
returnUrlstringOptionalURL to redirect the customer to after they've completed a payment.
Request example
{
"merchantId": 1758378,
"paymentId": "payment_812",
"amount": 250.00,
"currency": "BDT",
"customerId": "customer174",
"customerEmail": "mark_cooper@example.com",
"paymentMethod": "nagad"
}
Success response
{
"transactionId": "1003592",
"paymentID": "ORDER_100001_117_100",
"status": "PENDING",
"amount": 2000,
"currency": "BDT",
"redirectUrl": "https://page.amanpay.io/checkout/example-session-id",
"paymentType": "purchase"
}
Error response

{
"result_code": "DUPLICATE_PAYMENT_ID",
"result_message": "Payment ID already exists"
}

For the full list of possible responses, see Responses & Callbacks.


Purchase · H2H​

H2H

Nagad purchases are available through Host-to-Host integration.

Request parameters​

To initiate a purchase with the Nagad payment method via H2H integration, add the following parameters to your request.

HeaderValueRequiredDescription
Content-Typeapplication/jsonRequiredHTTP header indicating the media type of the resource sent in the request body.
AuthorizationcalculatedRequiredFor more details about request signature generation, see the About the signature section.
ParameterTypeRequiredDescription
merchantIdintegerRequiredYour unique merchant ID that you got from Amanpay when integrating.
paymentIdstringRequiredPayment ID unique within your system.
amountnumberRequiredThe amount is specified in major units and may include decimal places, for example, 500.50.
currencystringRequiredCode of the purchase currency in the ISO-4217 alpha-3 format.
customerIdstringConditionalCustomer's ID unique within your system. If not passed in the request, the value from the customerEmail parameter is used.

Either customerEmail or customerId must be provided.
customerEmailstringConditionalCustomer's email.
Either customerEmail or customerId must be provided.
paymentMethodstringRequiredPayment method's code. Pass nagad.
nagadNumberstringOptionalCustomer's mobile phone number associated with their Nagad e-wallet.
returnUrlstringOptionalURL to redirect the customer to after they've completed a payment.
Request example
{
"merchantId": 1758378,
"paymentId": "payment_812",
"amount": 2000.00,
"currency": "BDT",
"customerId": "customer174",
"customerEmail": "mark_cooper@example.com",
"paymentMethod": "nagad",
"nagadNumber": "01121111111"
}
Success response
{
"transactionId": "1002858",
"paymentID": "ORDER_100001_316_852",
"status": "PENDING",
"amount": 2000,
"currency": "BDT",
"paymentType": "purchase"
}
Error response
{
"result_code": "DUPLICATE_PAYMENT_ID",
"result_message": "Payment ID already exists"
}

For the full list of possible responses, see Responses codes and messages.

Channel 1 · Nagad payment URL​

Type

P2C

Integration

H2H

Channel

Nagad payment URL

HeaderValueRequiredDescription
Content-Typeapplication/jsonRequiredHTTP header indicating the media type of the resource sent in the request body.
AuthorizationcalculatedRequiredFor more details about request signature generation, see the About the signature section.
ParameterTypeRequiredDescription
transactionIdintegerRequiredPayment ID within the AmanPay payment platform.
operationIdintegerOptionalOperation ID within the AmanPay payment platform.
additional_dataobjectRequiredAdditional data required to continue the purchase flow.
additional_data.PaymentDatastringRequiredPayment link that the customer must open to continue the purchase.
statusstringRequiredPurchase status. PENDING means no 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"
}

The Nagad payment details will be provided in the callback and in the payment status response Responses & Callbacks

Channel 2 · Nagad payment details​

Type

P2P

Integration

H2H

Channel

Nagad payment details

HeaderValueRequiredDescription
Content-Typeapplication/jsonRequiredHTTP header indicating the media type of the resource sent in the request body.
AuthorizationcalculatedRequiredFor more details about request signature generation, see the About the signature section.
ParameterTypeRequiredDescription
transactionIdintegerRequiredPayment ID within the AmanPay payment platform.
operationIdintegerOptionalOperation ID within the AmanPay payment platform.
additional_dataobjectRequiredContains additional data required to complete the purchase.
additional_data.PaymentDatastringRequiredCustomer's payment details required to complete the purchase.
additional_fieldsstring[]RequiredList of additional fields that the merchant must provide to complete the purchase.
statusstringRequiredPurchase status. SPECIFICATION means that additional payment details are required to continue the purchase flow.
Callback example
{
"additional_data": {
"PaymentData": "0222222222"
},
"additional_fields": [
"TrxId"
],
"operationId": 102383,
"transactionId": 102540,
"status": "SPECIFICATION"
}

Upon receiving such a callback, you should provide Amanpay with the data it needs by sending it a request as follows:

ParameterValue
URLhttps://gateway.amanpay.io
API endpoint/payments/purchases/specify/{operationId}
HTTP request methodPOST
Request body formatJSON
HeaderValueRequiredDescription
Content-Typeapplication/jsonRequiredHTTP header indicating the media type of the resource sent in the request body.
AuthorizationcalculatedRequiredFor more details about request signature generation, see the About the signature section.
ParameterTypeRequiredDescription
transactionIdintegerRequiredUnique transaction ID assigned to the payment.
merchantIdintegerRequiredYour unique merchant ID provided by Amanpay during integration.
additionalFieldsobjectRequiredAdditional data required for the payment.
additionalFields.TrxIdstringRequiredTransaction ID assigned by the payment provider.
Callback example
{
"transactionId": 62861,
"merchantId": 1758378,
"additionalFields": {
"TrxId": "12345"
}
}

Payout​

To initiate a payout with the Nagad payment method, add the following parameters to your request.

ParameterValue
URLhttps://gateway.amanpay.io
API endpoint/payments/payouts/initiate
HTTP request methodPOST
Request body formatJSON
Request parameters​
HeaderValueRequiredDescription
Content-Typeapplication/jsonRequiredHTTP header indicating the media type of the resource sent in the request body.
AuthorizationcalculatedRequiredFor more details about request signature generation, see the About the signature section.
ParameterTypeRequiredDescription
merchantIdintegerRequiredYour unique merchant ID that you got from Amanpay when integrating.
paymentIdstringRequiredPayment ID unique within your system.
amountnumberRequiredThe amount is specified in major units and may include decimal places, for example, 500.50.
currencystringRequiredCode of the payout currency in the ISO-4217 alpha-3 format.
customerIdstringConditionalCustomer's ID unique within your system. If not passed in the request, the value from the customerEmail parameter is used.

Either customerEmail or customerId must be provided.
customerEmailstringConditionalCustomer's email.
Either customerEmail or customerId must be provided.
customerNamestringRequiredCustomer's full name.
paymentMethodstringRequiredPayment method's code. Pass nagad in this parameter.
recipientTypestringRequiredCustomer's account type. Pass mobile_wallet in this parameter.
recipientMobileNumberstringRequiredCustomer's mobile phone number associated with their Nagad e-wallet.
Request
{
"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"
}
Success response
{
"transactionId": "1003685",
"paymentID": "payment_812",
"status": "PENDING",
"amount": 500,
"currency": "BDT",
"paymentType": "payout"
}
Error response
{
"result_code": "DUPLICATE_PAYMENT_ID",
"result_message": "Payment ID already exists"
}

For the full list of possible responses, see Responses & Callbacks.