- METHOD TYPEE-wallet
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
SSGPAY is an online payment gateway service that allows merchants to accept a variety of electronic payment methods, including credit and debit cards, E-wallets and bank transfers, as well as SSG MONEY, the virtual currency of the platform.
SSGPAY supports multiple partial refunds.
Supported Countries
- Korea
Supported Currencies
- KRW
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.
3. Send a /payment
Request
Perform the payment by sending a /payment
request with its mandatory parameters, including:
userTokenId
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_SSG_Pay“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
,address
,city
,state
,phone
,zip
userDetails
class containing:firstName
,lastName
,country
,email
items
class containing:name
price
quantity
Example /payment
Request
{ "sessionToken": "<sessionToken from getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "amount": "200", "currency": "KRW", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_SSG_Pay" } }, "billingAddress": { "firstName": "John", "lastName": "Smith", "address": "65, Overlea str", "email": "[email protected]", "phone": "2432432", "city": "Seoul", "country": "KR", "zip": "K0A 0A2", "state": "KR-41", "identification": "ABCDE1234F", "dateOfBirth": "1999-01-01" }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "userDetails": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "KR" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>", "items": [ { "name": "FIFA", "price": "50", "quantity": "1" }, { "name": "GTA", "price": "50", "quantity": "1" } ] }
The response generates and returns a redirect URL (redirectUrl
) to redirect the customer to the payment page, as well as a UPO (userPaymentOptionId
) for use in future transactions.
Example /payment
Response
{ "internalRequestId": 34773871, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "5634436935940029474", "merchantSiteId": "242181", "version": "1.0", "sessionToken": "4aa9d47a-a8f5-419f-ac3a-c23cf8ad01db", "orderId": "41421681", "userTokenId": "test5634436935940029474", "paymentOption": { "redirectUrl": "https://gfp-test.erompay.com/v3/ui/payment.html?eromtoken=871810de31bd17d7c7a16f1d18a06522", "userPaymentOptionId": "2153078001", "card": {} }, "transactionStatus": "REDIRECT" }
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:
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_SSG_Pay“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
,address
,city
,state
,phone
,zip
userDetails
class containing:firstName
,lastName
,country
,email
Example createPayment()
Request
sfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_SSG_Pay", } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", address: "65, Overlea str", email: "[email protected]", phone: "2432432", city: "Seoul", country: "KR", zip: "K0A 0A2", state: "KR-41", identification: "ABCDE1234F", dateOfBirth: "1999-01-01" }, userDetails: { firstName: "John", lastName: "Smith", country: "IE", email: "[email protected]" }, }, 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.
3. Send a
/payment
RequestPerform the payment by sending a
/payment
request with its mandatory parameters, including:userTokenId
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_SSG_Pay“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
,address
,city
,state
,phone
,zip
userDetails
class containing:firstName
,lastName
,country
,email
items
class containing:name
price
quantity
Example
/payment
Request{ "sessionToken": "<sessionToken from getSessionToken>", "merchantId": "<your merchantId>", "merchantSiteId": "<your merchantSiteId>", "clientRequestId": "<unique request ID in merchant system>", "amount": "200", "currency": "KRW", "userTokenId": "<unique customer identifier in merchant system>", "clientUniqueId": "<unique transaction ID in merchant system>", "paymentOption": { "alternativePaymentMethod": { "paymentMethod": "apmgw_SSG_Pay" } }, "billingAddress": { "firstName": "John", "lastName": "Smith", "address": "65, Overlea str", "email": "[email protected]", "phone": "2432432", "city": "Seoul", "country": "KR", "zip": "K0A 0A2", "state": "KR-41", "identification": "ABCDE1234F", "dateOfBirth": "1999-01-01" }, "deviceDetails": { "ipAddress": "<customer's IP address>" }, "userDetails": { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "country": "KR" }, "timeStamp": "<YYYYMMDDHHmmss>", "checksum": "<calculated checksum>", "items": [ { "name": "FIFA", "price": "50", "quantity": "1" }, { "name": "GTA", "price": "50", "quantity": "1" } ] }
The response generates and returns a redirect URL (
redirectUrl
) to redirect the customer to the payment page, as well as a UPO (userPaymentOptionId
) for use in future transactions.Example
/payment
Response{ "internalRequestId": 34773871, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "5634436935940029474", "merchantSiteId": "242181", "version": "1.0", "sessionToken": "4aa9d47a-a8f5-419f-ac3a-c23cf8ad01db", "orderId": "41421681", "userTokenId": "test5634436935940029474", "paymentOption": { "redirectUrl": "https://gfp-test.erompay.com/v3/ui/payment.html?eromtoken=871810de31bd17d7c7a16f1d18a06522", "userPaymentOptionId": "2153078001", "card": {} }, "transactionStatus": "REDIRECT" }
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:paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_SSG_Pay“
deviceDetails
class containing:ipAddress
billingAddress
class containing:firstName
,lastName
,country
,email
,address
,city
,state
,phone
,zip
userDetails
class containing:firstName
,lastName
,country
,email
Example
createPayment()
Requestsfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_SSG_Pay", } }, deviceDetails:{ ipAddress:"<customer's IP address>" }, billingAddress: { firstName: "John", lastName: "Smith", address: "65, Overlea str", email: "[email protected]", phone: "2432432", city: "Seoul", country: "KR", zip: "K0A 0A2", state: "KR-41", identification: "ABCDE1234F", dateOfBirth: "1999-01-01" }, userDetails: { firstName: "John", lastName: "Smith", country: "IE", email: "[email protected]" }, }, 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=40739681&userid=Ela3331121&merchant_unique_id=&customData=&productId=&first_name=John&last_name=Doe&email=ivanp%40abv.bg¤cy=KRW&customField1=&customField2=&customField3=&customField4=&customField5=&customField6=&customField7=&customField8=&customField9=&customField10=&customField11=&customField12=&customField13=&customField14=&customField15=&invoice_id=&address1=65%2C+Overlea+str&address2=&country=Korea%2C+Republic+of&state=Gyeonggi&city=Toronto&zip=K0A+0A2&phone1=2432432&phone2=&phone3=&client_ip=&nameOnCard=&cardNumber=&bin=&noCVV=&acquirerId=&acquirerBank=EromnetMS-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=242181&merchant_status=&action=&requestVersion=&message=APPROVED&merchantLocale=&unknownParameters=&payment_method=apmgw_SSG_Pay&ID=&merchant_id=5634436935940029474&responseTimeStamp=2023-09-14.07%3A02%3A10&buyButtonProductId=&webMasterId=&appliedPromotions=&uniqueCC=&transactionType=Sale&externalEmail=&cardCompany=&eci=&user_token_id=Ela3331121&userPaymentOptionId=2153007881&TransactionID=2110000000010897969&externalTransactionId=20230914832774613564&APMReferenceID=8ADC8669537EA50522056E1F149CBEB3&orderTransactionId=22374161&totalAmount=100.00&dynamicDescriptor=static+test&item_name_1=NA&item_number_1=&item_amount_1=100.00&item_quantity_1=1&item_discount_1=0.00&item_handling_1=0.00&item_shipping_1=0.00&feeAmount=&amountWithoutFee=&houseNumber=&customCurrency=&externalToken_blockedCard=&externalToken_cardAcquirerId=&externalToken_cardAcquirerName=&externalToken_cardBin=&externalToken_cardBrandId=&externalToken_cardBrandName=&externalToken_cardExpiration=&externalToken_cardLength=&externalToken_cardMask=&externalToken_cardName=&externalToken_cardTypeId=&externalToken_cardTypeName=&externalToken_clubName=&externalToken_creditCompanyId=&externalToken_creditCompanyName=&externalToken_extendedCardType=&externalToken_Indication=&externalToken_tokenValue=&externalToken_tokenProvider=&ECIRaw=&cryptogram=&upoRegistrationDate=20230911&type=DEPOSIT&clientRequestId=&relatedTransactionId=&sessionId=27d3a232a0bdda1105ccc3b81ef7&responsechecksum=1edcce976d52b6f5f59347b6b55cf540&advanceResponseChecksum=0ebb4c4e4d350d6ceeebcc822f0e5e4e',
User Experience
- The user is redirected to the SSGPAY website.
- The user logs into their SSGPAY account or scans a QR code.
- The user receives a notification on their mobile phone.
- The user taps the notification, the SSGPAY app opens, and the user selects a payment option.
- The user enters their information.
- The user completes the payment.
- A message also appears on the merchant’s checkout page indicating the payment has been verified.
Testing
Test credentials and testing scenarios can be provided by Nuvei if necessary. You can contact Nuvei support for assistance.