- 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.amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_GoPay_ID“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstname
,lastname
,country
,email
–country
must be IDuserDetails
class containing:firstname
,lastname
,country
,email
–country
must 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:
sessionToken
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_GoPay_ID“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstname
,lastname
,email
,country
–country
must be IDuserDetails
class containing:firstname
,lastname
,email
,country
–country
must 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
sessionToken
Press here for details.
2. Send a
/payment
RequestPerform the payment by sending a
/payment
request with its mandatory parameters including:userTokenId
– Unique customer identifier in merchant system.amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_GoPay_ID“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstname
,lastname
,country
,email
–country
must be IDuserDetails
class containing:firstname
,lastname
,country
,email
–country
must 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. - 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
/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:sessionToken
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_GoPay_ID“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstname
,lastname
,email
,country
–country
must be IDuserDetails
class containing:firstname
,lastname
,email
,country
–country
must 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.
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.