- METHOD TYPEE-wallet
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
GoPay is a popular payment method in Indonesia that allows users to conduct transactions using the GoPay or Gojek mobile app, authorizing the transaction with a six-digit PIN.
Supported Countries
- Indonesia
Supported Currencies
- IDR
Payment (Deposit) Flow
Press tab to open…
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a sessionToken
Press here for details.
2. Send a /payment Request
Perform the payment by sending a /payment request with its mandatory parameters including:
userTokenId– Unique customer identifier in merchant system.amountcurrencypaymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_GoPay_ID“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstname,lastname,country,email–countrymust be IDuserDetailsclass containing:firstname,lastname,country,email–countrymust be ID
Example /payment Request
{
"sessionToken": "<sessionToken from /getSessionToken>",
"merchantId": "<your merchantId>",
"merchantSiteId": "<your merchantSiteId>",
"userTokenId": "<unique customer identifier in merchant system>",
"paymentOption": {
"alternativePaymentMethod": {
"paymentMethod": "apmgw_GoPay_ID",
}
},
"currency": "IDR",
"amount": "100",
"deviceDetails": {"ipAddress": "<customer's IP address>"},
"billingAddress": {
"firstName": "John",
"lastName": "Smith",
"email": "[email protected]",
"county": "ID"
},
"userDetails": {
"firstName": "John",
"lastName": "Smith",
"email": "[email protected]",
"country": "ID",
},
"timeStamp": "<YYYYMMDDHHmmss>",
"checksum": "<calculated checksum>"
}
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to urlDetails.notificationUrl, which Nuvei recommends including in the /payment request.
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the /openOrder API call.
2. Initialize the Web SDK
Instantiate the Web SDK with the sessionToken received from the server call to /openOrder.
3. Create an APM Payment
Send a createPayment() request with its mandatory parameters including:
sessionTokenpaymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_GoPay_ID“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstname,lastname,email,country–countrymust be IDuserDetailsclass containing:firstname,lastname,email,country–countrymust be ID
Example createPayment()
sfc.createPayment({
sessionToken: "<sessiontoken>",
paymentOption: {
alternativePaymentMethod: {
paymentMethod: "apmgw_GoPay_ID",
}
},
deviceDetails: {
ipAddress: "<customer's IP address>"
},
billingAddress: {
firstName: "John",
lastName: "Smith",
email: "[email protected]",
country: "ID"
},
userDetails: {
firstName: "John",
lastName: "Smith",
email: "[email protected]",
country: "ID"
}
}, function(res) {
console.log(res);
})
After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to urlDetails.notificationUrl, which Nuvei recommends including in the /openOrder request.
- REST API
-
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a
sessionTokenPress here for details.
2. Send a
/paymentRequestPerform the payment by sending a
/paymentrequest with its mandatory parameters including:userTokenId– Unique customer identifier in merchant system.amountcurrencypaymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_GoPay_ID“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstname,lastname,country,email–countrymust be IDuserDetailsclass containing:firstname,lastname,country,email–countrymust be ID
Example
/paymentRequest{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "userTokenId": "<unique customer identifier in merchant system>", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_GoPay_ID", } }, "currency": "IDR", "amount": "100", "deviceDetails": {"ipAddress": "<customer's IP address>"}, "billingAddress": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "county": "ID" }, "userDetails": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "ID", }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>" }After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
urlDetails.notificationUrl, which Nuvei recommends including in the/paymentrequest. - Web SDK
-
Follow these steps to perform a payment using Nuvei Web SDK integration.
1. Initiate a Session
Before you can submit payment using the client-side Nuvei Web SDK, you need to send the
/openOrderAPI call.2. Initialize the Web SDK
Instantiate the Web SDK with the
sessionTokenreceived from the server call to/openOrder.3. Create an APM Payment
Send a
createPayment()request with its mandatory parameters including:sessionTokenpaymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_GoPay_ID“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstname,lastname,email,country–countrymust be IDuserDetailsclass containing:firstname,lastname,email,country–countrymust be ID
Example
createPayment()sfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_GoPay_ID", } }, deviceDetails: { ipAddress: "<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "ID" }, userDetails: { firstName: "John", lastName: "Smith", email: "[email protected]", country: "ID" } }, function(res) { console.log(res); })After the transaction is processed, Nuvei sends a Direct Merchant Notification (DMN) that includes the result of the transaction to
urlDetails.notificationUrl, which Nuvei recommends including in the/openOrderrequest.
Example Payment DMN with Status=APPROVED
...'ppp_status=OK&Status=APPROVED&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=443881418&userid=TestToken02&merchant_unique_id=20180327175242&customData=&productId=&first_name=&last_name=&email=¤cy=IDR&clientUniqueId=20180327175242&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=Indonesia&state=&city=&zip=&phone1=&phone2=&phone3=&client_ip=127.0.0.1&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=2C2PRedirect-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=&shippingState=&shippingCity=&shippingAddress=&shippingZip=&shippingFirstName=&shippingLastName=&shippingPhone=&shippingCell=&shippingMail=&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=192086&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_GoPay_ID&ID=&merchant_id=3959942794863066594&responseTimeStamp=2024-05-14.13%3A57%3A40&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=ID&cardCompany=&eci=&user_token_id=TestToken02&userPaymentOptionId=111259448&TransactionID=711000000035809977&externalTransactionId=9075316&APMReferenceID=26EBB5B4FDF9DD4147445DC95A8E7FE3&orderTransactionId=1286875228&totalAmount=50.00&dynamicDescriptor=%3F&item_name_1=NA&item_number_1=&item_amount_1=50.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&upoRegistrationDate=20240514&type=DEPOSIT&clientRequestId=20240514165715&relatedTransactionId=&sessionId=75897989fa1450d817861fe7860f&responsechecksum=106c88abd86f25b7e2819a7b30338f292db195e63577250150def21fb680214b&advanceResponseChecksum=61f2140984d16a5152bf935eee32f379476274cfdb8a73412c32516464cfce9d',
Example Payment DMN with Status=PENDING
...'ppp_status=PENDING&Status=PENDING&ExErrCode=0&ErrCode=0&errApmCode=0&errApmDescription=&errScCode=0&errScDescription=&Reason=&ReasonCode=0&PPP_TransactionID=443881418&userid=TestToken02&merchant_unique_id=20180327175242&customData=&productId=&first_name=&last_name=&email=¤cy=IDR&clientUniqueId=20180327175242&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=&address2=&country=Indonesia&state=&city=&zip=&phone1=&phone2=&phone3=&client_ip=127.0.0.1&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=2C2PRedirect-PI&expMonth=&expYear=&Token=&tokenId=&AuthCode=&AvsCode=&Cvv2Reply=&shippingCountry=&shippingState=&shippingCity=&shippingAddress=&shippingZip=&shippingFirstName=&shippingLastName=&shippingPhone=&shippingCell=&shippingMail=&total_discount=0.00&total_handling=0.00&total_shipping=0.00&total_tax=0.00&buyButtonProductBundleId=&merchant_site_id=192086&merchant_status=&action=&requestVersion=&message=PENDING&merchantLocale=&unknownParameters=&payment_method=apmgw_GoPay_ID&ID=&merchant_id=3959942794863066594&responseTimeStamp=2024-05-14.13%3A57%3A31&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=ID&cardCompany=&eci=&user_token_id=TestToken02&userPaymentOptionId=111259448&TransactionID=711000000035809977&externalTransactionId=9075316&APMReferenceID=26EBB5B4FDF9DD4147445DC95A8E7FE3&orderTransactionId=1286875228&totalAmount=50.00&dynamicDescriptor=%3F&item_name_1=NA&item_number_1=&item_amount_1=50.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&upoRegistrationDate=20240514&type=DEPOSIT&clientRequestId=20240514165715&relatedTransactionId=&sessionId=75897989fa1450d817861fe7860f&responsechecksum=209addc57d335c7be27e36b411b479df304c9b7398b01ec5875846fb62de1ad1&advanceResponseChecksum=178e8597c4862d71130cf6f37ca715743a1dd8c0139d0ebefa66e3d2fbd143c5',
User Experience
- The user is redirected to the GoPay Indonesia website and selects an app.

- Using the app, the user completes the payment, authorizing it with a six-digit PIN. For example, using the GoPay app:

- The transaction is confirmed and the user can close the app.

Testing
Test credentials and testing scenarios can be provided by Nuvei if necessary. You can contact Nuvei support for assistance.