- METHOD TYPECards
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Merchants can use the South Korea LocalCards APM to accept payments from credit cards issued in South Korea. Locally issued cards are acquired by their issuer.
South Korea LocalCards 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. Present Issuer List to User
The cardholder chooses to pay with a card issued in South Korea and selects the card issuer from a list on the merchant’s website.
2. 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:
userTokenIdamountcurrencypaymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_South_Korea_LocalCards“card_brand: “<Issuer ID>“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstName,lastName,country,email,address,city,state,phone,zipuserDetailsclass containing:firstName,lastName,country,email
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_South_Korea_LocalCards",
"card_brand": "537"
}
},
"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.alternativePaymentMethodclass containing:paymentMethod: “apmgw_South_Korea_LocalCards“card_brand: “<Issuer ID>“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstName,lastName,country,email,address,city,state,phone,zipuserDetailsclass containing:firstName,lastName,country,email
Example createPayment() Request
sfc.createPayment({
sessionToken: "<sessiontoken>",
paymentOption: {
alternativePaymentMethod: {
paymentMethod: "apmgw_South_Korea_LocalCards",
card_brand: "537"
}
},
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: "KR",
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 /payment request.
- REST API
-
Follow these steps to perform a payment using Nuvei REST API integration:
1. Present Issuer List to User
The cardholder chooses to pay with a card issued in South Korea and selects the card issuer from a list on the merchant’s website.
2. Generate a
sessionTokenPress here for details.
3. Send a
/paymentRequestPerform the payment by sending a
/paymentrequest with its mandatory parameters, including:userTokenIdamountcurrencypaymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_South_Korea_LocalCards“card_brand: “<Issuer ID>“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstName,lastName,country,email,address,city,state,phone,zipuserDetailsclass containing:firstName,lastName,country,email
Example
/paymentRequest{ "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_South_Korea_LocalCards", "card_brand": "537" } }, "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
/paymentResponse{ "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/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:paymentOption.alternativePaymentMethodclass containing:paymentMethod: “apmgw_South_Korea_LocalCards“card_brand: “<Issuer ID>“
deviceDetailsclass containing:ipAddressbillingAddressclass containing:firstName,lastName,country,email,address,city,state,phone,zipuserDetailsclass containing:firstName,lastName,country,email
Example
createPayment()Requestsfc.createPayment({ sessionToken: "<sessiontoken>", paymentOption: { alternativePaymentMethod: { paymentMethod: "apmgw_South_Korea_LocalCards", card_brand: "537" } }, 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: "KR", 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/paymentrequest.
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_South_Korea_LocalCards&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 provides card details and submits the transaction.
- The issuer processes the transaction.
- The user is redirected to the relevant page on the merchant’s website (success/failure).
Testing
Test credentials and testing scenarios can be provided by Nuvei if necessary. You can contact Nuvei support for assistance.
South Korea Local Card Issuers
| Issuer ID | Issuer Name |
|---|---|
| 536 | Gwangju |
| 537 | Shinhan |
| 538 | Samsung |
| 539 | Hyundai |
| 540 | Lotte |
| 541 | Suhyup |
| 542 | Citi |
| 543 | NH |
| 544 | Jeonbuk |
| 545 | Jeju |
| 546 | Hana |
| 547 | Kookmin |
| 548 | Woori |
| 549 | KEB |
| 550 | BC |


