Download OpenAPI specification:Download
VeriTrans4G Unified API offers a straightforward interface for processing online payments on e-commerce sites.
This guide is designed for developers who want to implement online payments using various APIs.
The following payment types are supported for online payments, and more will be added in the future.
The VeriTrans4G Unified API provides two payment methods: Single Payment and On-Demand Payment.
The differences between these two methods are explained below.
| Payment Method | Description |
| Single Payment | A method in which a payment request is executed for each purchase of goods. |
| On-Demand Payment |
A method in which the merchant and consumer agree to continuous use through an On-Demand Payment request. Payments are then charged on a single-payment basis by means of On-Demand Payment as per the availability of goods and other items. Orders accepted through an On-Demand Payment request are referred to as "Original Orders". |
The following APIs are available in the VeriTrans4G Unified API.
| API | Payment Method | Supported Payment Types | |||||||||
| Name | Command Name | Request Destination | Single | On-Demand Payment Request | On-Demand Payment | PayPay *1 | Rakuten Pay | Docomo | au | Merpay | |
| Payment Request | pay | Merchant⇒Unified API | 〇 | × | × | 〇 | 〇 | 〇 | 〇 | 〇 | |
| On-Demand Payment Request | subscribe | Merchant⇒Unified API | × | 〇 | × | 〇 | 〇 | 〇 | 〇 | 〇 | |
| Change Payment Request | updateOrder | Merchant⇒Unified API | 〇 | × | 〇 | × | 〇 | × | 〇 ※2 | × | |
| Capture | capture | Merchant⇒Unified API | 〇 | × | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | |
| Cancel | cancel | Merchant⇒Unified API | 〇 | × | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | |
| On-Demand Payment | charge | Merchant⇒Unified API | × | × | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | |
| Cancellation of Contract | terminate | Merchant⇒Unified API | × | 〇 | × | 〇 | × | 〇 | 〇 | 〇 | |
| Redirect | redirect | Unified API⇒(Consumer Browser⇒)Merchant | 〇 | 〇 | × | 〇 | 〇 | 〇 | 〇 | 〇 | |
| Webhook | push | Unified API⇒Merchant | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | |
| Get Transaction Result | getTransactionResult | Merchant⇒Unified API | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | 〇 | |
URL
Until the end of July 2025
Live environment : https://api.unified.veritrans.co.jp/fep/command
Sandbox environment : https://api.sandbox.unified.veritrans.co.jp/fep/command
August 2025 onward
Live environment : https://api.unified.veritrans.jp/fep/command
Sandbox environment : https://api.sandbox.unified.veritrans.jp/fep/command
* Please refer to the "Testing" sheet for details of each environment.
| Field Name | Settings | Format and Limitations | Description |
| Content-Type | Mandatory | As per the description in the right column | application/json |
| Authorization | Only one of them is required to be specified. |
As per the description in the right column | Bearer {token} About {token}, refer to "About Authentication of Payment Request". |
| X-VT-Content-hmac | As per the description in the right column | h=HmacSHA512;s={merchant CCID};v={hmacString} About {merchant CCID} and {hmacString}, refer to "About Authentication of Payment Request". |
|
| X-VT-Idempotency-Key | Optional | Single byte alphanumeric characters and symbols, 100 bytes or less |
Arbitrary values for Idempotency checks *For symbols, a hyphen (-) and an underscore (_) can be used. For details, refer to "About Idempotency". |
Content-Type: application/json;
Authorization: Bearer 222fd022-dc1d-4736-eab4-c5d9c507a284
X-VT-Content-hmac: h=HmacSHA512;s=MerchantCcId;v=915dd44f78777da61c26e683ae63cdf3aee72a212596ffc7fa4c0833dd224374
X-VT-Idempotency-Key: 29eb1743-b37c-d7c4-badb-7bc4056d9a98
The VeriTrans4G Unified API uses either Bearer authentication or HMAC authentication to authenticate each API request.
Merchants should choose the authentication method they wish to use and set the corresponding parameters in the request header.
If both authentication methods are set, Bearer authentication will be used.
For more information on each authentication method, refer to the section below.
The {token} is obtained (generated) by MAP. Specify the token, within its expiration date, in the request header.

For {merchant CCID} in X-VTContent-hmac, please ensure that the merchant CCID is specified.
Concatenate the strings in the following order without delimiters, and set the generated "HmacSHA512" hash value in {hmacString}.
(Similarly, for Webhooks, please perform verification using the specified request header.)
1. Merchant CCID
2. Request parameter string (String after JSON to String conversion)
3. Merchant Authentication Key
Merchant CCID=sampleCcId
Request parameter string={"order":{"payType": "paypay", "paymentId":
"paymentId_1234567890", "amount": "10000"},"item": [{"id": "item001", "name":
"testItem001"},{"id": "item002", "name": "testItem002"}],"merchant":{ "storeName":
"store001"},"control":{"requestMode": "test,successUrl":
"https://example.com/", "cancelUrl": "https://example.com/", "errorUrl":
"https://example.com/", "pushUrl": "https://example.com/"}}
Merchant Authentication Key=sampleKey
Concatenation string
str=sampleCcId{"order":{"payType": "paypay", "paymentId":
"paymentId_1234567890", "amount": "10000"},"item": [{"id": "item001", "name":
"testItem001"},{"id": "item002", "name": "testItem002"}],"merchant":{ "storeName":
"store001"},"control":{"requestMode": "test,successUrl":
"https://example.com/", "cancelUrl": "https://example.com/", "errorUrl":
"https://example.com/", "pushUrl": "https://example.com/"}}sampleKey
*Generate a hash value from the above concatenated string with HmacSHA512.
However, please note that "sampleCcid" and "sampleKey" above should be generated after reading the actual values.

By setting the Idempotency-Key during requests, checks can be performed to ensure that identical requests (*1) have not been made previously.
If the request is determined to be the same as a past request, the result from the previous request is returned without actual processing.
This feature is intended to allow merchants to reacquire responses they failed to receive.
For example, if a merchant fails to receive a response to a Capture request,
they can execute the request again with the same parameters, including the Idempotency-Key.
If the Idempotency-Key is the same, the original response is sent.
If the initial request did not reach the FEP server, it is treated as a new request and processed accordingly.
The Idempotency-Key can be set freely as long as it follows the specified format, but using UUIDv4 is recommended.
Idempotency is determined by the following items in each API:
・(Header)X-VT-Idempotency-Key
・(Body)paymentId(fepOrderId can also be used)
*1: Precaution items
・Even if the Idempotency-Key matches a previous request, if the requested API or paymentId differs, it will be treated as a separate request.
・Even if the Idempotency-Key matches a previous request, the format of the request item will be checked. Therefore, do not change the request content in principle.
・The validity period for an Idempotency-Key is 24 hours. If a request is made after this period with the same value, it will be processed as a new request.
For the following items, the merchant can freely set the key information linked to the order.
Furthermore, since the settings are retained on a per-API request basis, past settings cannot be updated or deleted.
These items are not encrypted when saved on the FEP server.
Therefore, ensure that personal information or credit card details are not set in these fields.
It is an ID used to uniquely identify an order in the VeriTrans4G Unified API.
Merchants must assign a unique, randomly generated number to each payment request to ensure it does not overlap with any other paymentId. It cannot be duplicated across different payment types.
Until a transaction is successful, the same ID can be reused for additional requests.
For re-requests, refer to the "Payment Life Cycle".
However, please be aware that if you perform another transaction with the same paymentId before the original transaction result is confirmed, multiple payments might be completed using that same paymentId.
In such cases, a UA-000-002 response code will be returned to one of the transactions. If UA-000-002 occurs (e.g., in MAP), please verify the customer's payment status.
A paymentId used in the Sandbox environment cannot be reused in the Live environment.
The paymentId can include single-byte alphanumeric characters, as well as the hyphen (-) and underscore (_) symbols.
The VeriTrans4G Unified API assigns a unique ID (fepOrderId), which is sent to the payment server along with the paymentId specified during the payment request.
This corresponding ID is returned after the payment request via redirect or Webhook and can be used as an alternative to the paymentId for making API requests (other than the payment request) or inquiries.
The numbering system is as follows:
paymentId + _ + random string (26–35 bytes)
Example: If paymentId = id123456789, then fepOrderId = id123456789_01AHK4HS7GFKHGKE7SGFJKTHIH
*Please note: When searching for orders in MAP, the paymentId cannot be used. Only the fepOrderId is valid for conducting searches.
The ID (paymentId) of the original order (the order associated with the On-Demand Payment Request) is linked to the payment at the time of an On-Demand Payment.
Specify the same ID that was set during the On-Demand Payment Request.
The ID (fepOrderId) of the original order (associated with the On-Demand Payment Request) is linked to the On-Demand Payment.
Specify the fepOrderId returned for the order at the time of the Payment Request for On-Demand Payment.
ID newly assigned by the FEP server for each request.
It can also be used with the Get Transaction Result API.
The date and time used by the VeriTrans4G Unified API are set to "JST (Japan Standard Time) (GMT+9)" unless otherwise specified.
To detect message tampering, ensure that the AuthInfo verification is performed without fail.
Additionally, since the sequence of parameter concatenation is not fixed, it must be handled dynamically by referring to the authParams.
Furthermore, even if the merchant's process confirms no issues with the verification result, it is essential to verify that the paymentId parameter matches the one set during the payment request.
While the vAuthInfo verification alone can detect partial message manipulation, it cannot identify cases where the entire redirect information from a past successful order is replaced for fraudulent purposes. In such scenarios, the fraudulent data may go undetected.
The result code (resultCode) included in the API response is as follows:
Please note that, depending on the error content, only the HTTP status code may be returned.
| HTTP Status code |
Result code (resultCode) |
Description | Status (status) |
Action code (actionCode) |
| 200 | UA-000-001 | Success | success | success |
| 200 | UA-000-002 | Success (Confirmation Required) | confirm_payment | |
| 200 | UA-U00-001 | Awaiting consumer's payment | user_paying | |
| 200 | UA-P00-001 | Provider processing in progress | provider_processing | |
| 400 | UA-REQ-001 | Invalid message | failure | confirm_request |
| 400 | UA-REQ-002 | Fraudulent parameter | confirm_request | |
| 409 | UA-REQ-003 | Order duplication | confirm_request | |
| 401 | UA-REQ-004 | No execution permission | confirm_merchant_info | |
| 406 | UA-REQ-005 | In process | retry_request | |
| 400 | UA-REQ-006 | Request time limit exceeded (capture deadline, cancellation deadline, etc.) | alternate_payment | |
| 400 | UA-REQ-007 | API cannot be executed (internal status invalid) | confirm_payment_status | |
| 401 | UA-REQ-008 | Authentication error | confirm_token | |
| 404 | UA-REQ-900 | Invalid request content (no applicable merchant or order found) | confirm_request | |
| 502 | UA-PRV-001 | Provider error | retry_request | |
| 502 | UA-PRV-002 | API cannot be executed (external status is invalid) | confirm_payment_status | |
| 502 | UA-PRV-003 | API cannot be executed (merchant registration and contract issues) | confirm_merchant_info | |
| 502 | UA-PRV-004 | Provider error (incorrect amount) | confirm_request | |
| 503 | UA-PRV-999 | Under Maintenance | maintenance | |
| 502 | UA-CST-001 | Consumer-related error | confirm_consumer | |
| 502 | UA-CST-002 | Consumer cancellation | retry_payment | |
| 502 | UA-CST-003 | Consumer authentication error | retry_payment | |
| 429 | UA-LMT-001 | Exceeded number of concurrent connections | retry_request | |
| 403 | UA-LMT-002 | Incorrect request source IP address | confirm_merchant_info | |
| 500 | UA-PND-001 | Payment status unknown (pending) | confirm_pending_status | |
| 500 | UA-SYS-001 | System error | error | inquiry_support |
| 500 | UA-SYS-002 | Application error | inquiry_support | |
| 500 | UA-SYS-003 | Internal communication error | retry_request | |
| 500 | UA-SYS-004 | External communication error | retry_request | |
| 404 | - | Page not found | - | - |
The Status (status) in the API response is as follows:
| Status (status) |
Description |
| success | Success |
| failure |
Order failure (Invalid request, consumer eligibility check, payment provider judgment, etc.) |
| error |
System error (Due to issues with the Unified API or the payment provider's server, etc.) |
The action code set in the API response is a simplified representation of the merchant's recommended action when the transaction status is anything other than "success".
The action codes to be returned and the details of the merchant's action are as follows:
| Action code (actionCode) |
Merchant's action |
|---|---|
| inquiry_support | Contact Technical Support |
| maintenance | Please check the maintenance period and try again. |
| confirm_payment | There is a possibility of a double order or an invalid transaction status. Please verify the transaction status in MAP. |
| confirm_payment_status | Ensure that API calls are not made for transactions that do not match the transaction status. |
| confirm_request | Check the parameter values by referring to the error message. |
| confirm_merchant_info | Verify the merchant's registration status based on the error message. |
| alternate_payment | After verifying the transaction status, please resend the request. Alternatively, please make a payment using another payment method. |
| retry_request | Please wait for a while and then attempt the payment again. If the error persists, contact Technical Support. |
| retry_payment | Please retry the payment request. |
| confirm_consumer | This error may be caused by the consumer. Check the consumer's status. |
| confirm_token | Verify your authentication token. |
| user_paying | The payment is currently being processed. Please check the order status after some time. |
| provider_processing | Awaiting the processing by the payment provider. Please check the order status after some time. |
| confirm_pending_status | The payment status can be either 'Success' or 'Failure'. After a certain period, please check the order status. If there is no change, contact Technical Support. |
The message in the API response is provided with the result code description in English. Please note that switching between languages is not supported.
Merchant⇒Unified API
required | object (order) |
object (transaction) | |
Array of objects (item) | |
object (merchant) | |
object (customer) | |
required | object (control) |
object (paymentInstrument) |
{- "order": {
- "payType": "paypay",
- "paymentId": "paymentId_1234567890",
- "amount": "10000",
- "authCaptureType": "auth",
- "description": "testOrder",
- "commodityType": "product_sales"
}, - "transaction": {
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "item": [
- {
- "id": "item001",
- "name": "testItem001",
- "categoryId": "1112"
}
], - "merchant": {
- "storeId": "storeId001",
- "storeName": "storeName001",
- "terminalId": "terminalId001"
}, - "customer": {
- "buyer": {
- "buyerInfoType": "not_use",
- "userAgent": "example"
}, - "shipping": {
- "deliveryAddressType": "not_use"
}
}, - "control": {
- "requestMode": "sandbox",
}, - "paymentInstrument": {
- "au": {
- "loginType": "linked_id"
}
}
}{- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success"
}, - "order": {
- "paymentId": "paymentId_1234567890"
}, - "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
},
}An On-Demand Payment Request is performed.
The "Payment Flow" section describes the process up to the completion of the On-Demand Payment request. The APIs used in such cases are described in [ ].
Merchant⇒Unified API
required | object (order) |
object (transaction) | |
Array of objects (item) | |
object (merchant) | |
object (customer) | |
required | object (control) |
object (paymentInstrument) |
{- "order": {
- "payType": "paypay",
- "paymentId": "paymentId_1234567890",
- "orderName": "testOrderName",
- "description": "testOrder",
- "commodityType": "product_sales"
}, - "transaction": {
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "item": [
- {
- "id": "item001",
- "name": "testItem001",
- "categoryId": "1714"
}
], - "merchant": {
- "storeId": "storeId001",
- "storeName": "storeName001",
- "terminalId": "terminalId001"
}, - "customer": {
- "buyer": {
- "buyerInfoType": "not_use",
- "userAgent": "example"
}, - "shipping": {
- "deliveryAddressType": "not_use"
}
}, - "control": {
- "requestMode": "sandbox",
}, - "paymentInstrument": {
- "au": {
- "loginType": "linked_id"
}
}
}{- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success"
}, - "order": {
- "paymentId": "paymentId_1234567890"
}, - "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
},
}It will be a Query Parameter while redirecting from the consumer browser to the merchant completion page.
Merchants cannot directly request this API.
Redirect will only link the order result and the information to identify the order.
Detailed information can be found in the webhook upon success. It can also be obtained via the Get Transaction Result API.
For details on timing, refer to the "Payment Flow" under the Payment Request tab or On-Demand Payment Request tab.
The same request might be sent multiple times due to consumer operations or browser-specific behaviors.
Ensure your implementation can handle duplicate requests, even if a request has already been processed.
In addition, when receiving a redirect, verify each message to detect potential tampering.
For details, refer to the section titled "About Verification When the Redirect is Received".
| status | string <= 10 characters Single byte alphanumeric characters Example: status=success |
| actionCode | string <= 64 characters Single byte alphanumeric characters, symbols Example: actionCode=success Action code(s) that guide the merchants' actions. The symbols used are the hyphen (-) and the underscore (_). |
| resultCode | string <= 10 characters Single byte alphanumeric characters, symbols Example: resultCode=UA-000-001 A result code indicating the specific reason for the order result. The symbols used are the hyphen (-) and the underscore (_). |
| command | string <= 20 characters Single byte alphanumeric characters, symbols Example: command=pay Redirect induced command. The symbols used are the hyphen (-) and the underscore (_). |
| paymentId | string <= 64 characters Single byte alphanumeric characters, symbols Example: paymentId=paymentId_1234567890 paymentId linked to the target order. |
| fepOrderId | string <= 100 characters Single byte alphanumeric characters, symbols Example: fepOrderId=paymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH fepOrderId linked to the target order. The symbols used are the hyphen (-) and the underscore (_). |
| fepReferenceId | string <= 100 characters Single byte alphanumeric characters, symbols Example: fepReferenceId=X01AHK4HS7GFKHGKE7SGFJKTHIH fepReferenceId linked to the target order. The symbols used are the hyphen (-) and the underscore (_). |
| merchantRequestKey1 | string <= 100 characters Single byte alphanumeric characters, symbols Example: merchantRequestKey1=freeKey1 Contents set at the time of payment request. *If not set at the time of request, it will not be returned. |
| merchantRequestKey2 | string <= 100 characters Single byte alphanumeric characters, symbols Example: merchantRequestKey2=freeKey2 Contents set at the time of payment request. *If not set at the time of request, it will not be returned. |
| vAuthInfo | string <= 4000 characters Hash value calculated by concatenating the following strings in the given order without delimiters and using "SHA512". 1.Merchant CCID 2.Concatenated string with parameter values (concatenate as per the sequence indicated by authParams) 3.Merchant Authentication Key While concatenating parameter values, only parameter values are concatenated without including the parameter name and delimiter. For character encoding when converting a concatenated string into binary, UTF-8 is used. |
| authParams | string <= 4000 characters
This value indicates the sequence of the concatenation of parameters of the string that is used to calculate the hash value of vAuthInfo.
Example:
|
Merchant⇒Unified API
required | paymentId specification (object) or fepOrderId specification (object) (order) |
object (transaction) | |
object (control) |
{- "order": {
- "paymentId": "paymentId_1234567890",
- "amount": "10000",
- "authExtensionType": "not_extend"
}, - "transaction": {
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
},
}{- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success"
}, - "order": {
- "paymentId": "paymentId_1234567890",
- "fepOrderId": "paymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH",
- "amount": "100",
- "usedPoint": "0",
- "cancelExpirationDatetime": "20230526123456",
- "captureExpirationDatetime": "20230526123456",
- "updateExpirationDatetime": "20230526123456",
- "extendAuthExpirationDatetime": "20230526123456"
}, - "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH",
- "transactionDatetime": "20230525123456",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "provider": {
- "payment": {
- "providerOrderId": "XXX00000000001",
- "gatewayOrderId": "00000000000000000001"
}
}
}Merchant⇒Unified API
required | paymentId specification (object) or fepOrderId specification (object) (order) |
object (transaction) | |
object (control) |
{- "order": {
- "paymentId": "paymentId_1234567890",
- "amount": "10000",
- "description": "testItem"
}, - "transaction": {
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
},
}{- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success",
- "vResultCode": "1001000000000000"
}, - "order": {
- "paymentId": "paymentId_1234567890",
- "fepOrderId": "paymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH",
- "amount": "10000",
- "usedPoint": "100"
}, - "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH",
- "transactionDatetime": "20230525123456",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "provider": {
- "payment": {
- "providerOrderId": "XXX00000000001",
- "gatewayOrderId": "00000000000000000001"
}
}
}Merchant⇒Unified API
required | paymentId specification (object) or fepOrderId specification (object) (order) |
object (transaction) | |
object (control) |
{- "order": {
- "paymentId": "paymentId_1234567890",
- "amount": "10000"
}, - "transaction": {
- "reason": "testCancel",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
},
}{- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success",
- "vResultCode": "1001000000000000"
}, - "order": {
- "paymentId": "paymentId_1234567890",
- "fepOrderId": "paymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH",
- "amount": "10000",
- "usedPoint": "100"
}, - "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH",
- "transactionDatetime": "20230525123456",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "provider": {
- "payment": {
- "inquiryCode": "inquiryCode12345",
- "providerOrderId": "XXX00000000001",
- "gatewayOrderId": "00000000000000000001"
}
}
}Merchant⇒Unified API
required | originalPaymentId specification (object) or originalFepOrderId specification (object) (order) |
object (transaction) | |
Array of objects (item) | |
object (merchant) | |
object (control) |
{- "order": {
- "paymentId": "paymentId_1234567890",
- "originalPaymentId": "orgPaymentId_1234567890",
- "authCaptureType": "auth_with_capture",
- "amount": "10000",
- "description": "testOrder"
}, - "transaction": {
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "item": [
- {
- "id": "item001",
- "name": "testItem001",
- "categoryId": "1014"
}
], - "merchant": {
- "storeId": "storeId001",
- "terminalId": "terminalId001"
}, - "control": {
- "protocol": {
- "recoveryType": "recover",
- "recoveryExpiredDatetime": "20230601125959"
}
}
}{- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success",
- "vResultCode": "1001000000000000"
}, - "order": {
- "paymentId": "paymentId_1234567890",
- "fepOrderId": "paymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH",
- "originalPaymentId": "orgPaymentId_1234567890",
- "originalFepOrderId": "orgPaymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH",
- "amount": "10000",
- "usedPoint": "100",
- "cancelExpirationDatetime": "20230526123456",
- "captureExpirationDatetime": "20230526123456",
- "updateExpirationDatetime": "20230526123456",
- "extendAuthExpirationDatetime": "20230526123456"
}, - "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH",
- "transactionDatetime": "20230526123456",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "provider": {
- "payment": {
- "providerOrderId": "XXX00000000001",
- "gatewayOrderId": "00000000000000000001",
- "inquiryCode": "inquiryCode12345"
}
}, - "customer": {
- "buyer": {
- "customerId": "b613865a-6f72-af74-772d-02279b929876"
}
}
}Merchant⇒Unified API
paymentId specification (object) or fepOrderId specification (object) (Order) | |
object (transaction) | |
object (control) |
{- "order": {
- "paymentId": "paymentId_1234567890"
}, - "transaction": {
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
},
}{- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success",
- "vResultCode": "1001000000000000"
}, - "order": {
- "paymentId": "paymentId_1234567890",
- "fepOrderId": "paymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH"
}, - "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH",
- "transactionDatetime": "20230526123456",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "provider": {
- "payment": {
- "providerOrderId": "XXX00000000001"
}
}
}| Field Name | Settings | Format and Limitations | Description |
| Content-Type | Mandatory | As per the description in the right column | application/json |
| X-VT-webhook-id | Mandatory | Single byte alphanumeric characters and symbols |
Identification ID of the notification newly assigned by VeriTrans4G Unified API. The symbols used are the hyphen (-) and the underscore (_). |
| X-VT-Content-hmac | Mandatory | As per the description in the right column |
h=HmacSHA512;s={merchant CCID};v={hmacString} For details about {merchant CCID} and {hmacString}, refer to "About Authentication of Payment Request". |
Content-Type: application/json
X-VT-webhook-id: 01HG79DYJS6MJBN8BRS0HAQ38X
X-VT-Content-hmac: h=HmacSHA512;s=MerchantCcId;v=915dd44f78777da61c26e683ae63cdf3aee72a212596ffc7fa4c0833dd224374
| API | command※1 | PayPay | Rakuten Pay | Docomo | au | Merpay |
| Payment Request *2 | pay | Order Successful | Order Successful | Order Successful | Order Successful | Order Successful |
| Change Payment Request | updateOrder | - | All Status | - | All Status | - |
| Capture | capture | All Status | All Status | All Status | All Status | All Status |
| Cancel | cancel | All Status | All Status | All Status | All Status | All Status |
| On-Demand Payment | charge | All Status *3 | All Status | All Status | All Status | All Status |
| Cancellation of Contract | terminate | All Status | - | All Status | All Status | All Status |
| Deregistration Notification *4 | deregistraction | At the time of notification from the payment provider | - | At the time of notification from the payment provider | At the time of notification from the payment provider | At the time of notification from the payment provider |
※1 The command Parameter of Transaction Block in Notification Contents
※2 The payment request is executed only after the consumer completes both the payment and the payment request with the payment provider.
※3 If a notification is received with resultCode=UA-U00-001, and the order is subsequently finalized through consumer action, an additional Webhook will be sent with resultCode=UA-000-001.
※4 When the On-Demand Payment contract is cancelled by the payment provider, the payment provider will notify you about the cancellation of the contract.
FEP server will send the result notification to the merchant, when the relevant Deregistration notification is received.
Unified API⇒Merchant
object (result) | |
object (order) | |
object (transaction) | |
object (control) | |
object (provider) | |
object (customer) | |
object (paymentInstrument) |
{- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success",
- "vResultCode": "1001000000000000"
}, - "order": {
- "payType": "paypay",
- "paymentId": "paymentId_1234567890",
- "fepOrderId": "paymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH",
- "originalPaymentId": "orgPaymentId_1234567890",
- "originalFepOrderId": "orgPaymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH",
- "amount": "10000",
- "usedPoint": "0",
- "cancelExpirationDatetime": "20230526123456",
- "captureExpirationDatetime": "20230526123456",
- "updateExpirationDatetime": "20230526123456",
- "extendAuthExpirationDatetime": "20230526123456"
}, - "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH",
- "command": "pay",
- "transactionDatetime": "20230526123456",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "control": {
- "requestMode": "sandbox"
}, - "provider": {
- "result": {
- "providerErrorInfo": [
- "payment_error",
- "invalid_point"
]
}, - "payment": {
- "providerOrderId": "XXX00000000001",
- "gatewayOrderId": "00000000000000000001",
- "inquiryCode": "inquiryCode12345",
- "preapprovalId": "preapprovalId1234567890"
}
}, - "customer": {
- "buyer": {
- "nickname": "nick",
- "phoneNumber": 9012341234,
- "email": "customer.buyer.email@example.com",
- "customerId": "b613865a-6f72-af74-772d-02279b929876"
}, - "shipping": {
- "familyName": "Yamada",
- "firstName": "Taro",
- "familyNameKana": "ヤマダ",
- "firstNameKana": "タロウ",
- "phoneNumber": "0312341234",
- "zipCode1": "150",
- "zipCode2": "0022",
- "preference": "Tokyo",
- "city": "Shibuya",
- "address1": "Ebisu Minami 3-chome",
- "address2": "5-7, Digital Gate Building, 10th Floor"
}
}, - "paymentInstrument": {
- "rakuten": {
- "card3ds": "used",
- "cardCvc": "used",
- "cardInstallments": 1,
- "cardBrand": "JCB",
- "cardLast4": "1234"
}
}
}| Trigger | Condition |
|---|---|
| After payment request execution | The period between submitting the payment request and receiving the redirect from the consumer's browser to the merchant's completion page. |
| After on-demand payment execution | If the payment result is "UA-U00-001 (user_paying)", the period until the corresponding Webhook is received. |
Merchant⇒Unified API
object (transaction) |
{- "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH"
}
}{- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success"
}, - "transactionData": {
- "result": {
- "status": "success",
- "actionCode": "success",
- "resultCode": "UA-000-001",
- "message": "success",
- "vResultCode": "1001000000000000"
}, - "order": {
- "payType": "paypay",
- "paymentId": "paymentId_1234567890",
- "fepOrderId": "paymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH",
- "originalPaymentId": "orgPaymentId_1234567890",
- "originalFepOrderId": "orgPaymentId_1234567890_01AHK4HS7GFKHGKE7SGFJKTHIH",
- "amount": "1000",
- "usedPoint": "0",
- "cancelExpirationDatetime": "20230526123456",
- "captureExpirationDatetime": "20230526123456",
- "updateExpirationDatetime": "20230526123456",
- "extendAuthExpirationDatetime": "20230526123456"
}, - "transaction": {
- "fepReferenceId": "X01AHK4HS7GFKHGKE7SGFJKTHIH",
- "command": "pay",
- "transactionDatetime": "20230526123456",
- "merchantRequestKey1": "freeKey1",
- "merchantRequestKey2": "freeKey2",
- "metadata1": "freeSpace1",
- "metadata2": "freeSpace2"
}, - "control": {
- "requestMode": "sandbox"
}, - "provider": {
- "result": {
- "providerErrorInfo": [
- "payment_error",
- "invalid_point"
]
}, - "payment": {
- "providerOrderId": "XXX00000000001",
- "gatewayOrderId": "00000000000000000001",
- "inquiryCode": "inquiryCode12345",
- "preapprovalId": "preapprovalId1234567890"
}
}, - "customer": {
- "buyer": {
- "customerId": "b613865a-6f72-af74-772d-02279b929876"
}
}, - "paymentInstrument": {
- "rakuten": {
- "card3ds": "used",
- "cardCvc": "used",
- "cardInstallments": 1,
- "cardBrand": "JCB",
- "cardLast4": "1234"
}
}
}
} VeriTrans4G Unified API provides both a Sandbox environment and a Live environment.
For the request URLs for each environment, please refer to the "HTTP Request Details" section.
In the Sandbox environment, orders can be tested without connecting to the actual payment provider.
Failed transactions can also be simulated by setting specific values for the amount in each API.
After verifying functionality in the Sandbox environment, please perform testing in the Live environment with an actual connection to the payment provider to confirm the provider's behavior.
In the Sandbox environment, dummy values are used for fields set by payment providers, and the operation is simplified for testing purposes.
Therefore, before the merchant releases the system, please ensure that thorough testing is conducted in the Live environment to confirm actual values and operation.
Use the Merchant ID issued to each merchant when conducting tests.
For usage before signing a contract, please contact us as needed.
Payment Request (Single Payment)
The last digit of the payment request amount (amount) can be modified to intentionally trigger an error.
The table below shows the last digit of the amount and its corresponding response, including the resultCode and vResultCode.
| Last Digit of Amount | Payment Request | |
| resultCode | vResultCode | |
| 0 | UA-000-001(Success) | 1001 |
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 | UA-PRV-001(Failure) | 1GD1 |
| 9 | UA-000-001(Success) | 1001 |
On-Demand Payment Request (On-Demand Payment)
All test requests for On-Demand payment will be processed successfully.
If the consumer's browser is redirected using the redirectUrl received in the payment request response, it will navigate to the following dummy environment.
*Please note that the appearance of the dummy PayPay page may vary depending on PayPay's specifications.
Other APIs
The last digit of the Capture, Cancel, or On-Demand payment request amount (amount) can be modified to intentionally trigger an error.
The table below shows the last digit of the amount and its corresponding response, including the resultCode and vResultCode.
| Last Digit of Amount | Capture | Cancel | On-Demand Payment | |||
| resultCode | vResult Code |
resultCode | vResult Code |
resultCode | vResult Code |
|
| 0 | UA-000-001(Success) | 1001 | UA-000-001(Success) | 1001 | UA-000-001(Success) | 1001 |
| 1 | UA-PRV-001(Failure) | 1GD2 | ||||
| 2 | UA-PND-001(Failure) | 1E50 | ||||
| 3 | UA-PRV-001(Failure) | 1GD5 | UA-000-001(Success) | 1001 | UA-PRV-001(Failure) | 1GD6 |
| 4 | UA-PND-001(Failure) | 1E50 | UA-PND-001(Failure) | 1E50 | ||
| 5 | UA-000-001(Success) | 1001 | UA-CST-001(Failure) | 1G02※1 | ||
| UA-U00-001(Success) | 1G21※2 | |||||
| 6 | UA-000-001(Success) | 1001 | ||||
| 7 | ||||||
| 8 | ||||||
| 9 | ||||||
Payment Request (Single Payment)
The last digit of the payment request amount (amount) can be modified to intentionally trigger an error.
The table below shows the last digit of the amount and its corresponding response, including the resultCode and vResultCode.
| Last Digit of Amount | Payment Request | |
| resultCode | vResultCode | |
| 0 | UA-000-001(Success) | F001 |
| 1 | UA-PRV-999(Failure) | FG90 |
| 2 | UA-PRV-001(Failure) | FG24 |
| 3 | UA-000-001(Success) | F001 |
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | ||
| 8 | ||
| 9 | ||
| Payment Result Selection | Redirect | |
| resultCode | vResultCode | |
| Success | UA-000-001(Success) | F001 |
| Interruption | UA-PND-001(Failure) | FED1 |
| Failure(Point Fraud) | - | FG11※ |
| Failure(Payment Failure) | UA-PRV-001(Failure) | FG24 |
| Failure(Under Maintenance) | UA-PRV-999(Failure) | FG90 |
On-Demand Payment Request (On-Demand Payment)
The value of (name) under the request item[] of the On-Demand payment request can be used to intentionally cause an error.
| name | Payment Request | |
| resultCode | vResultCode | |
| fail | UA-PRV-999(Failure) | FG90 |
| Other than above | UA-000-001(Success) | F001 |
| Payment Request Result Selection | Redirect | |
| resultCode | vResultCode | |
| Success | UA-000-001(Success) | F001 |
| Interruption | UA-PND-001(Failure) | FED1 |
| Failed (Consent Expired) | UA-REQ-006(Failure) | FG26 |
Other APIs
By adjusting the last digit of the requested amount for Capture, Cancel, Payment Request Change, and On-Demand payment, you can intentionally trigger an error.
The table below shows the last digit of the amount and its corresponding response, including the resultCode and vResultCode.
| Last Digit of Amount | Capture | Cancel | Change Payment Request | On-Demand Payment | ||||||||||
| Full Amount Capture | Partial Capture | Authorization Extension | Amount change | Authorization Extension + Amount Change | ||||||||||
| resultCode | vResult Code |
resultCode | vResult Code |
resultCode | vResult Code |
resultCode | vResult Code |
resultCode | vResult Code |
resultCode | vResult Code |
resultCode | vResult Code |
|
| 0 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 |
| 1 | UA-PRV-999(Failure) | FG90 | UA-PND-001(Failure) | FED1 | UA-PRV-999(Failure) | FG90 | UA-PRV-999(Failure) | FG90 | ||||||
| 2 | UA-PND-001(Failure) | FED1 | UA-PND-001(Failure) | FED1 | UA-PRV-999(Failure) | FG90 | UA-000-001(Success) | F001 | UA-PND-001(Failure) | FED2 | UA-PND-001(Failure) | FED2 | ||
| 3 | UA-PRV-001(Failure) | FG30 | UA-PND-001(Failure) | FED2 | UA-000-001(Success) | F001 | ||||||||
| 4 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 | UA-000-001(Success) | F001 | UA-PND-001(Failure) | FED1 | ||
| 5 | UA-PND-001(Failure) | FED1 | UA-PND-001(Failure) | FED2 | UA-PND-001(Failure) | FED2 | UA-PRV-001(Failure) | FG30 | ||||||
| 6 | UA-PRV-001(Failure) | FG30 | UA-PRV-001(Failure) | FG30 | UA-PRV-001(Failure) | FG30 | UA-PRV-999(Failure) | FG90 | ||||||
| 7 | UA-000-001(Success) | F001 | UA-REQ-006(Failure) | FG26 | UA-000-001(Success) | F001 | UA-PND-001(Failure) | FED2 | UA-PND-001(Failure) | FED2 | UA-PRV-001(Failure) | FG24 | ||
| 8 | UA-REQ-006(Failure) | FG26 | UA-PRV-001(Failure) | FG29 | UA-PND-001(Failure) | FED1 | UA-REQ-006(Failure) | FG26 | UA-PRV-001(Failure) | FG29 | ||||
| 9 | UA-PRV-001(Failure) | FG30 | UA-000-001(Success) | F001 | UA-PRV-001(Failure) | FG30 | UA-PND-001(Failure) | FED1 | ||||||
Payment Request (Single Payment)
If the consumer's browser is redirected using the redirectUrl received in the Single Payment request result, it will be automatically redirected to the following dummy environment.
*Please note that the appearance of the dummy d Payment page may vary depending on d Payment's specifications.
Selecting "Cancel Purchase" on the Payment Method Selection page or Payment Details confirmation page will change the redirect result.
| name | Payment Request | |
| resultCode | vResultCode | |
| Purchase Cancellation | UA-CST-002(Failure) | WGU1 |
| Other than above | UA-000-001(Success) | W001 |
On-Demand Payment Request (On-Demand Payment)
When a redirect instruction is given using the redirectUrl returned as the result of the On-Demand payment request, it will automatically transition to the following dummy environment.
*Please note that the appearance of the dummy d Payment page may vary depending on d Payment's specifications.
Selecting "Cancel Purchase" on the Payment Method Selection page or Payment Details confirmation page will change the redirect result.
| name | Payment Request | |
| resultCode | vResultCode | |
| Purchase Cancellation | UA-CST-002(Failure) | WGU1 |
| Other than above | UA-000-001(Success) | W001 |
Other APIs
The last digit of the Capture, Cancel, or On-Demand payment request amount (amount) can be modified to intentionally trigger an error.
The table below shows the last digit of the amount and its corresponding response, including the resultCode and vResultCode.
| Last Digit of Amount | Capture | Cancel | Change Payment Request | |||
| resultCode | vResultCode | resultCode | vResultCode | resultCode | vResultCode | |
| 0 | UA-000-001(Success) | W001 | UA-000-001(Success) | W001 | UA-000-001(Success) | W001 |
| 1 | ||||||
| 2 | UA-PRV-001(Failure) | WG02 | ||||
| 3 | UA-PRV-001(Failure) | WG02 | UA-000-001(Success) | W001 | ||
| 4 | UA-000-001(Success) | W001 | UA-PRV-001(Failure) | WA02 | ||
| 5 | UA-CST-001(Failure) | WG12 | ||||
| 6 | UA-SYS-002(Failure) | WG05 | ||||
| 7 | UA-PRV-001(Failure) | WG02 | ||||
| 8 | UA-CST-001(Failure) | WG04 | ||||
| 9 | UA-000-001(Success) | W001 | ||||
Payment Request (Single Payment)
The last digit of the payment request amount (amount) can be modified to intentionally trigger an error.
The table below shows the last digit of the amount and its corresponding response, including the resultCode and vResultCode.
| Last Digit of Amount | resultCode | vResultCode |
| 0 | UA-000-001(Success) | W001 |
| 1 | ||
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | UA-PRV-001(Failure) | WG02 |
| 6 | UA-CST-001(Failure) | WG04 |
| 7 | UA-PRV-001(Failure) | WG02 |
| 8 | UA-CST-001(Failure) | WG04 |
| 9 | UA-000-001(Success) | W001 |
| name | Payment Request | |
| resultCode | vResultCode | |
| Cancel | UA-CST-002(Failure) | WGU1 |
| Other than above | UA-000-001(Success) | W001 |
On-Demand Payment Request (On-Demand Payment)
When a redirect instruction is given using the redirectUrl returned as the result of the On-Demand payment request, it will automatically transition to the following dummy environment.
*The image of auPAY (au Easy Payment) and auPAY (Online payment) dummy pages may change depending on au specifications.
Selecting "Cancel" on the Payment Method Selection or Payment Details will change the result of the Redirect.
| name | Payment Request | |
| resultCode | vResultCode | |
| Cancel | UA-CST-002(Failure) | WGU1 |
| Other than above | UA-000-001(Success) | W001 |
Other APIs
By adjusting the last digit of the requested amount for Capture, Cancel, Payment Request Change, and On-Demand payment, you can intentionally trigger an error.
The table below shows the last digit of the amount and its corresponding response, including the resultCode and vResultCode.
| Last Digit of Amount | Capture | Cancel | Change Payment Request | On-Demand Payment | ||||
| resultCode | vResultCode | resultCode | vResultCode | resultCode | vResultCode | resultCode | vResultCode | |
| 0 | UA-000-001(Success) | W001 | UA-000-001(Success) | W001 | UA-000-001(Success) | W001 | UA-000-001(Success) | W001 |
| 1 | UA-CST-001(Failure) | WG04 | ||||||
| 2 | UA-PRV-001(Failure) | WG02 | UA-CST-001(Failure) | WG35 | ||||
| 3 | UA-000-001(Success) | W001 | UA-PRV-001(Failure) | WG02 | UA-000-001(Success) | W001 | ||
| 4 | UA-000-001(Success) | W001 | ||||||
| 5 | - | - | UA-PRV-001(Failure) | WG02 | ||||
| 6 | UA-CST-001(Failure) | WG04 | ||||||
| 7 | UA-PRV-001(Failure) | WG02 | ||||||
| 8 | UA-CST-001(Failure) | WG04 | ||||||
| 9 | UA-000-001(Success) | W001 | UA-000-001(Success) | W001 | ||||
Payment Request (Single Payment)
The last digit of the payment request amount (amount) can be modified to intentionally trigger an error.
The table below shows the last digit of the amount and its corresponding response, including the resultCode and vResultCode.
| Last Digit of Amount | resultCode | vResultCode |
| 0 | UA-000-001(Success) | K001 |
| 1 | UA-PRV-001(Failure) | KG10 |
| 2 | UA-000-001(Success) | K001 |
| 3 | ||
| 4 | ||
| 5 | ||
| 6 | ||
| 7 | UA-PRV-999(Failure) | KG11 |
| 8 | UA-000-001(Success) | K001 |
| 9 |
If the consumer's browser is redirected using the redirectUrl received in the payment request response, it will navigate to the following dummy environment.
*The image of the dummy Merpay page may change depending on Merpay's specifications.
Selecting a combination of checkboxes and buttons on the Payment page will change the Redirect result.
| Access Permission Page | Payment | resultCode | vResultCode | |
| Button | Checkbox | |||
| Allow | Pay | Success | UA-000-001 | K001 |
| Deemed success (result notification from Mercari is not received) | K003 | |||
| Deemed success (error in payment confirmation process) | K003 | |||
| Failure (Error in redirect * Result notification is successful) | K001 | |||
| Cancel | - (Other than failure) | UA-CST-001 | KGU1 | |
| Failure (Error in redirect * Result notification is successful) | UA-000-001 | K001 | ||
| Cancel | - | UA-CST-001 | KGU1 | |
On-Demand Payment Request (On-Demand Payment)
When a redirect instruction is given using the redirectUrl returned as the result of the On-Demand payment request, it will automatically transition to the following dummy environment.
*The image of the dummy Merpay page may change depending on Merpay's specifications.
Selecting a combination of checkboxes and buttons on the Payment page will change the Redirect result.
The combination and return values are the same as for Single Payment.
Other APIs
By adjusting the last digit of the requested amount for Capture, Cancel, Payment Request Change, and On-Demand payment, you can intentionally trigger an error.
The table below shows the last digit of the amount and its corresponding response, including the resultCode and vResultCode.
| Last Digit of Amount | Capture | Cancel | On-Demand Payment | |||||
| Before capture | After capture | |||||||
| resultCode | vResultCode | resultCode | vResultCode | resultCode | vResultCode | resultCode | vResultCode | |
| 0 | UA-000-001(Success) | K001 | UA-000-001(Success) | K001 | UA-000-001(Success) | K001 | UA-000-001(Success) | K001 |
| 1 | - | - | UA-PRV-001(Failure) | KG10 | UA-PRV-001(Failure) | KG10 | ||
| 2 | UA-000-001(Success) | K001 | UA-PND-001(Failure) | KED1 | UA-000-001(Success) | K001 | ||
| 3 | UA-000-001(Success) | K001 | UA-PRV-002(Failure) | KG19 | ||||
| 4 | UA-CST-001(Failure) | KG15 | ||||||
| 5 | UA-PRV-001(Failure) | KG10 | UA-PRV-001(Failure) | KG10 | UA-000-001(Success) | K001 | ||
| 6 | UA-PND-001(Failure) | KED1 | UA-PND-001(Failure) | KED1 | ||||
| 7 | UA-000-001(Success) | K001 | - | - | UA-PRV-999(Failure) | KG11 | UA-PRV-999(Failure) | KG11 |
| 8 | UA-PRV-999(Failure) | KG11 | UA-PRV-999(Failure) | KG11 | UA-000-001(Success) | K001 | UA-000-001(Success) | K001 |
| 9 | UA-000-001(Success) | K001 | UA-000-001(Success) | K001 | ||||
| Version | Release date | Update details |
| 1.0.0 β | 2023/12 | Newly created |
| 1.0.0 RC | 2024/08 |
|
| 1.0.1 RC | 2024/12 |
|
| 1.1.0 RC | 2025/06 |
|
| 1.1.1 RC | 2025/09 |
|