Payment
The Eximbay API enables payment authorization, refunds, inquiries, and verification across multiple payment methods.
For details on the necessary keys, verification methods, and security measures required for API utilization, please refer to the Payment Page Integration Preparation section.
Payment preparation
POST/v1/payments/ready
FgKey is used to prevent unauthorized modifications and falsification, ensuring the integrity of the request and response parameters exchanged between the merchant and Eximbay during the validation process. Please refer to the Payment Preparation API to generate the FGKey required for calling the payment page.The FGKey generated by the Payment Preparation API is required for calling the payment page using the JavaScript SDK. Please refer to the JavaScript SDK for further details on utilizing the FGKey to initiate the payment page.
payment object
transaction_type string
Mandatory: The payment page facilitates the automatic completion of payment authentication, authorization, and acquiring processes.
: In this model, only verification will be performed during the payment page initiation. Automated authorization and acquiring API or authorization-only API is required for this process.
: In this model, verification and authorization will be performed during the payment page initiation.Settlement (acquiring) will be processed through the manual acquiring API initiated by the merchant.
* An additional contract is required for the manual acquiring API.
: In this model, verification, authorization, and acquiring are performed without requiring additional card information input. Instead, the process utilizes the token ID generated during the Token Creation step after the payment page is invoked.
order_id string
Mandatorycurrency string
Mandatoryamount string
Mandatorylang string
Mandatorypayment_method string
multi_payment_method string
* For Cross-Border payment Integration.
merchant object
mid string
Mandatoryshop string
partner_code string
url object
return_url string
Mandatorystatus_url string
Mandatory
* Database tasks and payment processing should be handled within the statusURL.
* The returnURL will not be invoked if the customer forcefully terminates the session
* Duplicate invocation is allowed; however, please ensure that the payment is not processed multiple times.
buyer object
name string
Mandatoryphone_number string
email string
Mandatorytax object* This parameter is used for Korean local payment processing.
receipt_status string
Select Y or N for issuing a cash payment receipt. For bank transfer payments, you must choose either Y or N for receipt issuance.
amount_tax_free string
amount_taxable string
amount_vat string
amount_service_fee string
Note. 1 - All parameters in the tax object are mandatory for Naver Point payments.
Note. 2 - The response codes for local and cross-border payments differ after the SDK callback.
other_param object
param1 string
param2 string
product array * The array length is limited to three.
name string
Mandatoryquantity string
Mandatoryunit_price string
Mandatorylink string
Mandatorysurcharge array * The array length is limited to three.
name string
quantity string
unit_price string
ship_to object
city string
country string
first_name string
last_name string
phone_number string
postal_code string
state string
street1 string
bill_to object
city string
country string
first_name string
last_name string
phone_number string
postal_code string
state string
street1 string
settings object
display_type string
: Opens the payment page as a pop-up.
: Redirects to the payment page from the merchant's site.
autoclose string
: Redirects to the merchant's page.
: Redirects to the payment success page (default).
site_foreign_currency string
* If the payment_method parameter is used, only P000 (credit card) can be specified.
* Merchants utilizing the DCC service will have DCC-supported currencies displayed on the payment page. For information on DCC-supported currencies, please refer to the DCC currency code.
* The real-time exchange rate is applied to the transaction amount through Eximbay's DCC service provider. Once the credit card information is entered, the amount will be converted to the currency of the card-issuing country.
* For Cross-Border payment Integration.
call_from_app string
-
Y
: Call in the application environment (iOS, Android).
-
N
: Call in the web browser environment (default).
-
* Call the payment page within an app environment. Please refer to the External App Open in the WebView Integration Guide for further details.
call_from_scheme string
-
* Call the payment page within an app environment. Please refer to the External App Open in the WebView Integration Guide for further details.
issuer_country string
ostype string
: PC environment (default)
: Mobile environment
virtualaccount_expiry_datestring
tokenbilling object
token_creation string
: Token creation requested
* This is limited to transactions with the transaction type parameter set as PAYMENT.
unique_token_id string
: Token creation is allowed only for unique payment information (card). The request will be rejected if the payment information (card) already exists.
: Multiple token creations are allowed for the same payment information (card).
* This is limited to transactions with the transaction type parameter set as PAYMENT.
token_id string
* This is limited to transactions with the transaction type parameter set as REBILL.
Note. 1 - An additional contract is required for the token payment.
recurring object * Parameters for recurring payment registration
recurring_amount string
Mandatory, are not allowed as separators.
recurring_start_date string
MandatoryThe recurring date (next payment date) must be set after the start date, with payments processed on a monthly basis.
recurring_interval string
Mandatoryrecurring_noti_url string
remind_email_interval string
(Example: If set to '7', a notification email will be sent 7 days before the recurring payment date.)
fast_payment object
user_id string
Mandatoryuser_ci string
Mandatory* After completing identity verification on the merchant's site, set the 'userCi' as a parameter.
* If identity verification is not conducted on the merchant's site, prior notification to Eximbay is required, and 'userCi' should be set as a blank value.
phone_number string
Mandatory* Set as a blank value, if identity verification is not conducted on the merchant's site.
birthday string
Mandatory* Set as a blank value, if identity verification is not conducted on the merchant's site.
gender string
Mandatory: Male
: Female
* Set as a blank value, if identity verification is not conducted on the merchant's site.
foreigner string
Mandatory: Foreigner
: Citizen
* Set as a blank value, if identity verification is not conducted on the merchant's site.
Note. 1 - An additional contract is required for the fast payment.
curl --request POST 'https://api-test.eximbay.com/v1/payments/ready' \
--header 'Authorization: Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=' \
--header 'Content-Type: application/json' \
--data '{
"payment" : {
"transaction_type" : "PAYMENT",
"order_id" : "20220819105102",
"currency" : "USD",
"amount" : "1",
"lang" : "EN"
},
"merchant" : {
"mid" : "1849705C64"
},
"buyer" : {
"name" : "eximbay",
"email" : "test@eximbay.com"
},
"url" : {
"return_url" : "eximbay.com",
"status_url" : "eximbay.com"
},
"tokenbilling" : {
"token_creation" : "Y",
"unique_token_id" : "Y"
},
"recurring" : {
"recurring_amount" : "1.15",
"recurring_start_date" : "20250210",
"recurring_interval" : "1",
"recurring_noti_url" : "https://Merchant url",
"remind_email_interval" : "5"
}
}'
rescode string
Mandatoryresmsg string
Mandatoryfgkey string
Mandatory
{
"rescode": "0000",
"resmsg": "Success",
"fgkey": "0E9BE04BA239A519E68171F26B68604ADA0A85C8350DBF5C8C0FCCF98461DB09"
}
Payment authorization
POST/v1/payments/confirm
After completing payment verification on the 3DS payment page, invoke the 'Payment Authorization API' to finalize the payment.transaction_type string
Mandatory: In this model, verification and authorization will be performed during the payment page initiation.
: In this model only payment authorization will be performed. acquiring will be processed through the manual acquiring API.
mid string
Mandatorypayment object
order_id string
Mandatorycurrency string
Mandatoryamount string
Mandatorypayer_auth_id string
Mandatorylang string
Mandatoryother_param object
param1 string
param2 string
curl --request POST 'https://api-test.eximbay.com/v1/payments/confirm' \
--header 'Authorization: Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=' \
--header 'Content-Type: application/json' \
--data '{
"transaction_type" : "PAYMENT_PA",
"mid" : "1849705C64",
"payment" : {
"order_id" : "20220902101716",
"currency" : "USD",
"amount" : "1",
"payer_auth_id" : "20220902101716",
"lang" : "EN"
}
}'
rescode string
Mandatoryresmsg string
Mandatorymid string
Mandatorypayment object
order_id string
Mandatorycurrency string
Mandatoryamount string
Mandatoryemail string
Mandatorytransaction_id string
Mandatoryauth_code string
* A simplified payment transaction does not generate an authorization number.
transaction_date string
Mandatoryaccess_country string
payment_method string
pay_to string
payment_url string
status string
: Order Completed status can only be processed after the Sale request has been received.
: Once the customer completes the deposit, the statusurl will be sent.
base_currency string
* In this model, the returned value will match the currency parameter. For MCP transactions, the original country currency will be returned as KRW or USD.
* Utilizing acquiring data for referral merchant.
* For Cross-Border payment Integration.
base_amount string
* In this model, the returned value will match the currency parameter. For MCP transactions, the original country currency will be returned as KRW or USD.
* Utilizing acquiring data for referral merchant.
* For Cross-Border payment Integration.
base_rate string
* The exchange rate from the specified currency to the base currency. If the specified currency matches base_currency, a value of 1 will be returned.
* Utilizing acquiring data for referral merchant.
* For Cross-Border payment Integration.
dcc_rate string
* The exchange rate from the specified base currency to the foreign currency. If the specified base_currency matches the foreign_currency, a value of 1 will be returned.
* For Cross-Border payment Integration.
terminal_id string
card_number string
expiry_date string
store_number string
foreign object
foreign_currency string
* The selected DCC currency unit chosen by the customer will be returned.
* For Cross-Border payment Integration.
foreign_amount string
* The selected DCC currency unit chosen by the customer will be returned.
* For Cross-Border payment Integration.
foreign_rate string
* The exchange rate from the specified currency to the foreign currency. If the specified currency matches foreign_currency, a value of 1 will be returned.
* For Cross-Border payment Integration.
card_info object
card_holder string
card_number1 string
card_number4 string
cash_receipt object
use_flag string
* Required parameter for virtual account payments and Naver Point payments.
cash_receipt_type string
* Required parameter for virtual account payments and Naver Point payments.
customer_information_type string
* Required parameter for virtual account payments and Naver Point payments.
customer_information string
* Required parameter for virtual account payments and Naver Point payments.
ship_to object
city string
country string
first_name string
last_name string
phone_number string
postal_code string
state string
street1 string
dm object
dm_decision string
: Payment is authorized following the DM Process risk assessment.
: Payment is rejected following the DM Process risk assessment.
: Payment is under risk review and requires further evaluation to determine if it is a high-risk transaction.
: DM Process failed.
dm_reject string
dm_review string
other_param object
param1 string
param2 string
{
"rescode": "0000",
"resmsg": "Success",
"mid": "1849705C64",
}
Payment verification
POST/v1/payments/verify
This is for initiating the payment page via SDK. Validate the FGKey included in the response.Utilize the Payment Validation API to finalize the payment. Please refer to the precautions below.
The response parameters from the Eximbay server to the merchant's status_url is in query string format.
Response parameters received in the query string must be submitted to the Payment Verification API.
Please refer to the payment preparation for further details.
Note. 1 - Initiating the payment page via SDK will alter the response value received through status_url based on the selected transaction_type and request parameters used.
Note. 2 - The response codes for local and cross-border payments differ after the SDK callback.
version string
Mandatorymid string
Mandatorytransaction_type string
Mandatoryfgkey string
Mandatoryorder_id string
Mandatorycurrency string
Mandatoryamount string
Mandatoryemail string
Mandatoryparam1 string
param2 string
param3 string
rescode string
Mandatoryresmsg string
Mandatorytransaction_id string
auth_code string
* A simplified payment transaction does not generate an authorization number.
payer_auth_id string
transaction_date string
access_country string
payment_method string
payment_type string
* Required parameter for Korean local simplified payments.
pay_to string
card_holder string
card_number1 string
card_number4 string
installment_months string
* Available for Korean local payment
status string
Mandatory: Payment successful (Sale is confirmed).
: Payment authorized (Sale is not confirmed; manual acquisition is required).
: Order registered (Sale will be confirmed after funds are transferred).
: No existing order.
ship_to_city string
ship_to_country string
ship_to_first_name string
ship_to_last_name string
ship_to_phone_number string
ship_to_postal_code string
ship_to_state string
ship_to_street1 string
useFlag string
* Required parameter for virtual account payments and Naver Point payments.
cash_receipt_type string
* Required parameter for virtual account payments and Naver Point payments.
cash_receipt_deduction_detail string
* Required parameter for virtual account payments and Naver Point payments.
cash_receipt_user_info string
* Required parameter for virtual account payments and Naver Point payments.
virtual_account_number string
virtual_account_bank_name string
virtual_account_depositor string
virtual_account_due_date string
Note. 1 - Mandatory object for virtual account payment and Japanese convenience store payment.
Note. 2 - Payment results for virtual account payment and Japanese convenience store payment will be returned in two stages.
• Order Registration : Returned via return_url and status_url
• Funds Transfer Notification : Returned via status_url
Note. 3 - The order registration result returned via status_url is optional.
payment_url string
dm_decision string
: Payment is authorized following the DM Process risk assessment.
: Payment is rejected following the DM Process risk assessment.
: Payment is under risk review and requires further evaluation to determine if it is a high-risk transaction.
: DM Process failed.
dm_reject string
dm_review string
base_currency string
* In this model, the returned value will match the currency parameter. For MCP transactions, the original country currency will be returned as KRW or USD.
* Utilizing acquiring data for referral merchant.
* For Cross-Border payment Integration.
base_amount string
* In this model, the returned value will match the currency parameter. For MCP transactions, the original country currency will be returned as KRW or USD.
* Utilizing acquiring data for referral merchant.
* For Cross-Border payment Integration.
base_rate string
* The exchange rate from the specified currency to the base currency. If the specified currency matches base_currency, a value of 1 will be returned.
* Utilizing acquiring data for referral merchant.
* For Cross-Border payment Integration.
foreign_currency string
* The selected DCC currency unit chosen by the customer will be returned.
* For Cross-Border payment Integration.
foreign_amount string
* The selected DCC currency unit chosen by the customer will be returned.
* For Cross-Border payment Integration.
foreign_rate string
* The exchange rate from the specified base currency to the foreign currency. If the specified currency matches the foreign_currency, a value of 1 will be returned.
* For Cross-Border payment Integration.
dcc_rate string
* The exchange rate from the specified base currency to the foreign currency. If the specified base_currency matches the foreign_currency, a value of 1 will be returned.
* For Cross-Border payment Integration.
terminal_id string
card_number string
expiry_date string
store_number string
cavv string
xid string
eci string
token_id string
* This will be used for token-based payment integration.
token_creation string
* Return the parameters received during the token creation request.
recurring_payment string
Maximum length is 1 character.
: Recurring payment is registered.
recurring_id string
Maximum length is 20 characters.
recurring_next_date string
Maximum length is 8 characters.
curl --request POST 'https://api-test.eximbay.com/v1/payments/verify' \
--header 'Authorization: Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=' \
--header 'Content-Type: application/json' \
--data '{
"data" : "currency=USD&card_number1=4111&transaction_date=20220927152250&card_number4=1111&mid=1849705C64&amount=100&access_country=KR&order_id=20220927152140&payment_method=P101&email=test@eximbay.com&ver=230&transaction_id=1849705C6420220927000016¶m3=TEST&resmsg=Success.&card_holder=TESTP&rescode=0000&auth_code=309812&fgkey=2AE38D785E05E6AF57977328908C7CD84A273B3FE6C042D537A800B0CBC783EA&transaction_type=PAYMENT&pay_to=EXIMBAY.COM"
}'
rescode string
Mandatoryresmsg string
Mandatory
{
"rescode": "0000",
"resmsg": "Success",
}
Payment inquiry
POST/v1/payments/retrieve
Inquiries regarding payment authorization or refund.mid string
Mandatorykey_field string
Mandatory: Inquiries can be made for authorized or refunded transactions using the order ID.
: This is used for inquiring about specific transactions.
payment object
order_id string
Mandatorycurrency string
Mandatoryamount string
Mandatorylang string
Mandatorytransaction_id string
other_param object
param1 string
param2 string
curl --request POST 'https://api-test.eximbay.com/v1/payments/retrieve' \
--header 'Authorization: Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=' \
--header 'Content-Type: application/json' \
--data '{
"mid" : "1849705C64",
"key_field" : "order_id",
"payment" : {
"order_id" : "20220902101716",
"currency" : "USD",
"amount" : "1",
"transaction_id" : "20220902101716",
"lang" : "EN"
}
}'
rescode string
Mandatoryresmsg string
Mandatorymid string
Mandatorypayment object
status string
Mandatory: Payment successful (Sale is confirmed).
: Payment authorized (Sale is not confirmed; manual acquisition is required).
: Order registered (Sale will be confirmed after funds are transferred).
: No existing order.
order_id string
Mandatorycurrency string
Mandatoryamount string
Mandatorytransaction_id string
Mandatoryauth_code string
* A simplified payment transaction does not generate an authorization number.
transaction_date string
Mandatorybalance string
payment_method string
card_info object
card_number1 string
card_number4 string
other_param object
param1 string
param2 string
{
"rescode": "0000",
"resmsg": "Success.",
"mid": "1849705C64",
"payment": {
"order_id": "20220902101716",
"currency": "USD",
"amount": "1",
"transaction_id": "1849705C6420220902000010",
"status": "AUTH",
"auth_code": "485760",
"transaction_date": "20220902101749",
"balance": "1.00"
},
"card_info": {
"cardno1": "4111",
"cardno4": "1111"
}
}
Payment refund
POST/v1/payments/{transaction_id}/cancel
The transaction_id is used for processing refunds on authorized payments.mid string
MandatoryA unique merchant ID generated by Eximbay to identify the merchant.
refund object
refund_type string
Mandatory: Full amount refund
: Partial refund
refund_amount string
MandatoryThe refund amount cannot exceed the original payment amount. If the refund_type is selected as F and no amount is entered, the full amount will be refunded.
refund_id string
MandatoryThis is a unique refund ID used to categorize a merchant's refund. This value must be unique and cannot be duplicated.
reason string
MandatoryReason for the refund request
payment object
order_id string
MandatoryThe original order ID is required for the refund process, as it corresponds to the transaction that will be refunded.
currency string
MandatoryPayment Currency Unit. For detailed information, please refer to the currency code.
amount string
MandatoryTotal Payment Amount. The amount must be greater than "0" and , cannot be used.
balance string
MandatoryRefundable balance (authorization amount - refund amount)
lang string
MandatoryLanguage Code: Specifies the language used on the payment page.
other_param object
param1 string
A preparatory parameter available for merchants if needed. The parameter length is limited to 255 characters.
param2 string
A preparatory parameter available for merchants if needed. The parameter length is limited to 255 characters.
refund_account object*A parameter is required for processing a virtual account payment refund.
user_name string
Beneficiary name of the bank account to which the refund amount will be remitted.
bank_code string
Bank code of the bank account for refund.
account_number string
Bank account number for refund.
tax object* Required parameter for virtual account payments and Naver Point payments.
receipt_status string
Select Y or N for issuing a cash payment receipt. For bank transfer payments, you must choose either Y or N for receipt issuance.
amount_tax_free string
amount_taxable string
amount_vat string
amount_service_fee string
curl --request POST 'https://api-test.eximbay.com/v1/payments/{transaction_id}/cancel' \
--header 'Authorization: Basic dGVzdF8xODQ5NzA1QzY0MkMyMTdFMEIyRDo=' \
--header 'Content-Type: application/json' \
--data '{
"mid" : "1849705C64",
"refund" : {
"refund_type" : "F",
"refund_amount" : "1",
"refund_id" : "1849705C64",
"reason" : "change of mind"
},
"payment" : {
"order_id" : "20220829170258",
"currency" : "USD",
"amount" : "1",
"balance" : "1",
"lang" : "EN"
}
}'
rescode string
MandatoryResponse code
resmsg string
MandatoryDescription of Response Codes
mid string
MandatoryA unique merchant ID generated by Eximbay to identify the merchant.
refund object
refund_amount string
MandatoryThe refund amount cannot exceed the original payment amount. If the refund_type is selected as F and no amount is entered, the full amount will be refunded.
refund_id string
MandatoryThis is a unique refund ID used to categorize a merchant's refund. This value must be unique and cannot be duplicated.
refund_date string
MandatoryThe refund date is formatted as YYYYMMDDHHMMSS.
refund_transaction_id string
MandatoryThis is a unique Eximbay refund ID used to classify a refund transaction.
payment object
order_id string
MandatoryThe original order ID is required for the refund process, as it corresponds to the transaction that will be refunded.
currency string
MandatoryPayment Currency Unit. For detailed information, please refer to the currency code.
amount string
MandatoryTotal Payment Amount. The amount must be greater than "0" and , cannot be used.
transaction_id string
MandatoryThis is a unique Eximbay transaction ID used to classify a merchant.
balance string
MandatoryRefundable balance (authorization amount - refund amount)
auth_code string
* A simplified payment transaction does not generate an authorization number.
base_amount string
* In this model, the returned value will match the currency parameter. For MCP transactions, the original country currency will be returned as KRW or USD.
* Utilizing acquiring data for referral merchant.
* For Cross-Border payment Integration.
base_rate string
* The exchange rate from the specified currency to the base currency. If the specified currency matches base_currency, a value of 1 will be returned.
* Utilizing acquiring data for referral merchant.
* For Cross-Border payment Integration.
dcc_rate string
* The exchange rate from the specified base currency to the foreign currency. If the specified base_currency matches the foreign_currency, a value of 1 will be returned.
* For Cross-Border payment Integration.
foreign objcet
foreign_currency string
* The selected DCC currency unit chosen by the customer will be returned.
* For Cross-Border payment Integration.
foreign_amount string
* The selected DCC currency unit chosen by the customer will be returned.
* For Cross-Border payment Integration.
foreign_rate string
* The exchange rate from the specified currency to the foreign currency. If the specified currency matches foreign_currency, a value of 1 will be returned.
* For Cross-Border payment Integration.
other_param object
param1 string
param2 string
{
"rescode": "0000",
"resmsg": "Success.",
"mid": "1849705C64",
"refund": {
"refund_amount": "1.00",
"refund_id": "1849705C64",
"refund_date": "20220922113927",
"refund_transaction_id": "1849705C6420220922000014"
},
"payment": {
"order_id": "20220922113330",
"currency": "USD",
"amount": "1.00",
"transaction_id": "1849705C6420220922000013",
"balance": "0.00",
"base_amount": "1.00",
"base_rate": "1.000000",
"dcc_rate": "1.000000",
"payment_method" : "P101"
},
"foreign": {
"foregin_currency": "USD",
"foregin_amount": "1.00",
"foregin_rate": "0"
}
}