System Interface (IF)
System Interface
| Interface Method | HTTP(S) |
|---|---|
| Transmission Method | POST |
| Timeout Period | 75 seconds (*1) |
| Data Type | JSON |
| Character Codes | UTF-8 |
| No | Interface Code | <Interface Name> | Interface Description | Interface Type | Date and time of request | Request to | Remarks |
|---|---|---|---|---|---|---|---|
| 01 | SBPS-IF-OPEN-01 | Payment request | Interface for carrying out the payment processing. | Synchronous/Asynchronous | Merchant | SBPS(CT) | (※1) |
| 02 | SBPS-IF-OPEN-02 | Payment History Search | Interface that checks the specified payment transaction history (status) (refund history is not included in this search) | Synchronization | Merchant | SBPS(CT) | (※1) |
| * Another API (SBPS-IF-OPEN-03) is used for refund transactions. | |||||||
| 03 | SBPS-IF-OPEN-03 | Refund request | Refund request | Synchronous/Asynchronous | Merchant | SBPS(CT) | (※1) |
| 04 | SBPS-IF-OPEN-04 | Refund History Search | Interface that check the specified refund transaction history (status) | Synchronization | Merchant | SBPS(CT) | (※1) |
| 05 | SBPS-IF-OPEN-05 | Payment Cancellation | Interface for resolving inconsistency in the payment status by sending a payment cancellation message if a payment timeout occurs. | Synchronous/Asynchronous | Merchant | SBPS(CT) | (※1) |
| 06 | SBPS-IF-OPEN-06 | Result Notification | When payType of "Payment Request" is "02" and "returnUrl" is a valid http address, OPRAL sends the result notification about "http/https" to "returnUrl" after receiving the payment success reply. | Asynchronous | SBPS(CT) | Merchant | (※1) |
| 07 | SBPS-IF-OPEN-07 | Customs Clearance Request | After an online payment is completed, the Customs Clearance Request interface can be called to carry out the customs clearance modification request process when the customs clearance request status is "2 - Application." | Synchronization | Merchant | SBPS(CT) | (※1) |
| 08 | SBPS-IF-OPEN-08 | Customs Clearance History Search | Interface for searching results of customs clearance request. | Synchronization | Merchant | SBPS(CT) | (※1) |
| 09 | SBPS-IF-OPEN-09 | Customs Clearance Re-request | The customs clearance can be requested again when the customs clearance request status is "2 - Application." | Synchronization | Merchant | SBPS(CT) | (※1) |
If notification messages from payment gateways are not received, we recommend that the client check the transaction status and carry out the succeeding processes (continuation of the task, cancellation, refund, re-request for the task, and so on). See the abnormal series of each system process sequence.
01. Payment Request
| Interface Name | Payment request | |||||||
|---|---|---|---|---|---|---|---|---|
| Request Type | POST | |||||||
| URL | Test environment URL: https://{stg-url}/api/pay/pay/openCreate Production environment URL:https://{prod-url}/api/pay/pay/openCreate | |||||||
| Interface Applications | Interface for carrying out the payment processing. | |||||||
| Parameters | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional, C: Conditionally required) | Remarks |
| 1 | clientOrderNo | Terminal Processing Serial Number | String | 32 | Y | A process sequential number generated by the Merchant side. The SBPS (CT) gateway checks the uniqueness. | ||
| 2 | orderPrice | Payment amount | Int | 11 | Y | It must be greater than or equal to 1 yen and must be an integer. | ||
| 3 | orderSubject | Payment Title | String | 50 | Y | “Purchased Item” fixed | ||
| 4 | payType | Reading Method | String | 2 | Y | 02: Web Type (PC payment) 04: Mini program type 05: InAPP type 06: Web type (Smartphone payment) | ||
| 5 | BrandType | Financial Institution | String | 2 | Y | 02:WeChat Pay | ||
| 6 | returnUrl | URL to which the result is notified | String | 128 | C | Used when notifying the merchant APP of the payment request result when payType="02", "04", or "05" is specified. | ||
| 7 | openId | EU User Label | String | 128 | C | Required when payType="04", "05" | ||
| 8 | subAppId | Contract Account ID | String | 128 | C | Required when payType="04", "05" | ||
| 9 | redirectUrl | Redirect URL | String | 256 | N | Optional when payType="06" | ||
| 10 | expireTime | Expiry time (in seconds) | int | 5 | N | Valid values [60 to 7200]. Default 7200 seconds. | ||
| 11 | logisticsType | Customs Clearance Declaration Type | String | 2 | N | 00: clientOrderNo application type (The client shall completely ensure the uniqueness of clientOrderNo. This payment gateway uses clientOrderNo to make a customs clearance application.) 01: gwOrderNo application type (This payment gateway uses gwOrderNo whose uniqueness is ensured to make a customs clearance application.) Default value: 00: clientOrderNo application type | ||
| Request Example | ||||||||
| { “clientOrderNo”: “12345678901234567890”, “orderPrice”:100, “orderSubject”:”Purchased Item”, “payType”:”02″, “brandType”:”02″, “returnUrl”:”https://www.test.com/” } | ||||||||
| Response BODY | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional, C: Conditionally required) | Description |
| 1 | result | Payment Request Result Structure | String | – | N | If resultType="SUCCESS", all columns are returned. | ||
| 2 | clientOrderNo | Terminal Processing Serial Number | String | 32 | N | Processing number generated by the merchant | ||
| 3 | gwOrderNo | GW Processing Serial Number | String | 32 | N | Processing sequence number generated by GW | ||
| 4 | BrandOrderNo | Financial Institution Number | String | 50 | N | Payment number generated by the financial institution | ||
| 5 | customerId | Customer ID | String | 30 | N | Number indicating the individual end user * As for WeChat, this corresponds to "openid" | ||
| 6 | orderSubject | Payment Title | String | 50 | N | “Purchased Item” fixed | ||
| 7 | currencyType | Payment Currency | String | 10 | N | “JPY” fixed | ||
| 8 | orderPrice | Payment amount | Int | 11 | N | |||
| 9 | orderStatus | Payment Status | Int | 4 | N | 0: Waiting for payment 1: Payment success 2: Payment in progress 3: Payment failed 4: Payment cancellation 7: Payment in progress by end user | ||
| 10 | BrandType | Financial Institution | String | 2 | N | 02: WeChatPay | ||
| 11 | codeUrl | Payment URL | String | 128 | N | Response when payType="02" | ||
| 12 | partnerId | Merchant Identification Number | String | 128 | N | Merchant ID managed by the financial institution. (subMerchantId) This is returned only when payType = "05." | ||
| 13 | prepayId | Prepaid ID | String | 30 | N | The prepayment success code is responded by the payment institution, and the corresponding field exists when payType = “04: Mini Program Type” and “05: InAPP Type Payment”. | ||
| 14 | orderStartTime | Payment start time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | ||
| 15 | orderFinishTime | Payment Completed Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | ||
| 16 | resultCode | Processing Result Code | String | 64 | Y | |||
| 17 | resultMessage | Processing Result MSG | String | 1024 | Y | |||
| 18 | resultType | Processing Result Type | String | 15 | Y | This result is the result of the process of the payment request and different from the payment status. This is SUCCESS when the payment request is normally created and the communication interface of the financial institution is normally called. The return value is FAILED in the following cases: 1. When the transaction number already exists 2. When failed to call the interface of the financial institution 3. When an internal system error occurs | ||
| Response example (please note that the columns are in random order) | ||||||||
| { "result":{ “clientOrderNo”:”samplecode”, “gwOrderNo”:”samplecode”, “brandOrderNo”:”samplecode”, “orderSubject”:”Purchased Item”, “currencyType”:”JPY”, “orderPrice”:100, “prepayId”:”Sample prepayID” “codeUrl”:”sample URI”, “orderStatus”:0, “brandType”:”02″ “orderStartTime”:”2018-01-01 00:00:01″ }, “resultCode”:”0000″, “resultMessage”:”null”, “resultType”:”SUCCESS” } | ||||||||
02.Payment History Search
| Interface Name | Payment History Search | |||||||
|---|---|---|---|---|---|---|---|---|
| Request Type | POST | |||||||
| URL | Test environment URL: https://{stg-url}/api/pay/orderInfo/openGet Production environment URL: https://{prod-url}/api/pay/orderInfo/openGet | |||||||
| Interface Applications | Interface that checks the specified payment transaction history (status) (refund history is not included in this search) | |||||||
| Parameters | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Remarks |
| 1 | clientOrderNo | Terminal Processing Serial Number | String | 32 | Y (/N) | Set either the terminal processing serial number, GW settlement agency number, or settlement agency number on the left. | ||
| 2 | gwOrderNo | GW Financial Institution Number | String | 32 | Y (/N) | Set either the terminal processing serial number, GW settlement agency number, or settlement agency number on the left. | ||
| 3 | BrandOrderNo | Financial Institution Number | String | 50 | Y (/N) | Set either the terminal processing serial number, GW settlement agency number, or settlement agency number on the left. | ||
| Request Example | ||||||||
| { “clientOrderNo”: “12345678901234567890” } | ||||||||
| Response BODY | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Description |
| 1 | result | Payment Request Result Structure | String | – | N | All the columns are returned when resultType = "SUCCESS" | ||
| 2 | clientOrderNo | Terminal Processing Serial Number | String | 32 | N | Processing number generated by the merchant | ||
| 3 | gwOrderNo | GW Processing Serial Number | String | 32 | N | Processing sequence number generated by GW | ||
| 4 | BrandOrderNo | Financial Institution Number | String | 50 | N | Payment number generated by the financial institution | ||
| 5 | customerId | Customer ID | String | 30 | N | Number indicating the individual end user * As for WeChat, this corresponds to "openid" | ||
| 6 | orderSubject | Payment Title | String | 50 | N | “Purchased Item” fixed | ||
| 7 | currencyType | Payment Currency | String | 10 | N | “JPY” fixed | ||
| 8 | orderPrice | Payment amount | Int | 11 | N | |||
| 9 | Exchange Rate | Exchange Rate | Tring | 16 | N | Example: 0.056236 | ||
| 10 | actualPrice | Local Currency Payment Amount | Int | 11 | N | The smallest unit of local currency | ||
| 11 | BrandType | Financial Institution | String | 2 | N | 02: WeChatPay | ||
| 12 | orderStatus | Payment Status | Int | 4 | N | 0: Waiting for payment 1: Payment success 2: Payment in progress 3: Payment failed 4: Payment cancellation 7: Payment in progress by end user | ||
| 13 | codeUrl | Payment URL | String | 128 | N | If payType="02,"04", "codeUrl" will be responded. | ||
| 14 | prepayId | Prepaid ID | String | 30 | N | The prepaid success code is returned by the payment institute, and its corresponding field is included when payType = "04: Mini program type" or "05: InAPP type payment." | ||
| 15 | orderStartTime | Payment start time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | ||
| 16 | orderFinishTime | Payment Completed Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | ||
| 17 | resultCode | Processing Result Code | String | 64 | Y | |||
| 18 | resultMessage | Processing Result MSG | String | 1024 | Y | |||
| 19 | resultType | Processing Result Type | String | 15 | Y | This result is the result of the process of the payment request and different from the payment status. This is SUCCESS when the payment request is normally created and the communication interface of the financial institution is normally called. The return value is FAILED in the following cases: 1. When the transaction number already exists 2. When failed to call the interface of the financial institution 3. When an internal system error occurs | ||
| Response example (please note that the columns are in random order) | ||||||||
| { "result":{ “clientOrderNo”:”samplecode”, “gwOrderNo”:”samplecode”, “brandOrderNo”:”samplecode”, “orderSubject”:”Purchased Item”, “currencyType”:”JPY”, “orderPrice”:100, “prepayId”:”Sample prepayID” “codeUrl”:”sample URI”, “orderStatus”:0, “brandType”:”02″ “orderStartTime”:”2018-01-01 00:00:01″ }, “resultCode”:”0000″, “resultMessage”:”null”, “resultType”:”SUCCESS” } | ||||||||
03. Refund Request
| Interface Name | Refund request | |||||||
|---|---|---|---|---|---|---|---|---|
| Request Type | POST | |||||||
| URL | Test environment URL: https://{stg-url}/api/pay/refund/openCreate Production environment URL:https://{prod-url}/api/pay/refund/openCreate | |||||||
| Interface Applications | Payment Processing Interface | |||||||
| Parameters | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Remarks |
| 1 | clientOrderNo | Terminal Processing Serial Number | String | 32 | Y | Set the terminal processing serial number at the time of payment request | ||
| 2 | gwOrderNo | GW Processing Serial Number | String | 32 | Y | GW processing serial number at the time of payment request | ||
| 3 | clientRefundNo | Terminal Refund Processing Serial Number | String | 32 | Y | Refund processing serial numbers generated by merchant side, A unique check is performed on the GW side. | ||
| 4 | refundPrice | Refund Amount | Int | 11 | Y | The amount of refund shall be an integer greater than or equal to the minimum amount of refund and less than or equal to the payment amount. | ||
| Request Example | ||||||||
| { “clientOrderNo”: “12345678901234567890” } | ||||||||
| Response BODY | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional, C: Conditionally required) | Description |
| 1 | result | Refund Request Result Structure | String | – | N | All the columns are returned when resultType = "SUCCESS" | ||
| 2 | clientRefundNo | Terminal Refund Processing Serial Number | String | 32 | N | Processing number generated by the merchant | ||
| 3 | gwRefundNo | GW Refund Processing Serial Number | String | 32 | N | Refund processing sequence number generated by GW | ||
| 4 | brandRefundNo | Financial Institution Refund Number | String | 50 | N | Financial institution refund number generated by the financial institution | ||
| 5 | clientOrderNo | Terminal Processing Serial Number | String | 32 | N | Terminal processing serial number at the time of payment request | ||
| 6 | gwOrderNo | GW Processing Serial Number | String | 32 | N | GW processing serial number at the time of payment request | ||
| 7 | BrandOrderNo | Financial Institution Number | String | 50 | N | Financial institution number at the time of payment request | ||
| 8 | orderPrice | Payment amount | Int | 11 | N | Payment amount at the time of payment request | ||
| 9 | refundStartTime | Refund Start Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | ||
| 10 | refundFinishTime | Refund Completion Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | ||
| 11 | currencyType | Payment Currency | String | 10 | N | “JPY” fixed | ||
| 12 | refundPrice | Refund Amount | Int | 11 | N | <= Payment amount at time of payment request | ||
| 13 | Exchange Rate | Exchange Rate | String | 16 | N | Example: 0.056236 | ||
| 14 | actualPrice | Local Currency Payment Amount | Int | 11 | N | The smallest unit of local currency | ||
| 15 | refundStatus | Refund Status | Int | 4 | N | 1: Refund success 3: Refund failed | ||
| 16 | resultCode | Processing Result Code | String | 64 | Y | |||
| 17 | resultMessage | Processing Result MSG | String | 1024 | Y | |||
| 18 | resultType | Processing Result Type | String | 15 | Y | This result is the result of the process of the payment request and different from the payment status. This is SUCCESS when the payment request is normally created and the communication interface of the financial institution is normally called. The return value is FAILED in the following cases: 1. When the transaction number already exists 2. When failed to call the interface of the financial institution 3. When an internal system error occurs | ||
| Response example (please note that the columns are in random order) | ||||||||
| { "result":{ “clientRefundNo”:”samplecode”, “gwRefundNo”:”samplecode”, “brandRefundNo”:”2008012001201706261093075024″, “clientOrderNo”:”samplecode”, “gwOrderNo”:”samplecode”, “brandOrderNo”:”2008012001201706261093075024″, “orderPrice”:100, “refundStartTime”:”2017-06-26 12:23:31″, “refundFinishTime”:”2017-06-26 12:23:33″, “currencyType”:”JPY”, “refundPrice”:100, “refundStatus”:1 }, “resultCode”:”0000″, “resultMessage”:”null”, “resultType”:”SUCCESS” } | ||||||||
04.Refund History Search
| Interface Name | Refund History Search | |||||||
|---|---|---|---|---|---|---|---|---|
| Request Type | POST | |||||||
| URL | Test environment URL: https://{stg-url}/api/pay/refundInfo/openGet Production environment URL:https://{prod-url}/api/pay/refundInfo/openGet | |||||||
| Interface Applications | Interface that check the specified refund transaction history (status) | |||||||
| Parameters | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Remarks |
| 1 | clientRefundNo | Terminal Refund Processing Serial Number | String | 32 | Y(/N) | Set either the terminal refund processing serial number, GW refund processing number, or financial institution refund number on the left. | ||
| 2 | gwRefundNo | GW Refund Processing Serial Number | String | 32 | Y(/N) | Set either the terminal refund processing serial number, GW refund processing number, or financial institution refund number on the left. | ||
| 3 | brandRefundNo | Financial Institution Refund Number | String | 50 | Y(/N) | Set either the terminal refund processing serial number, GW refund processing number, or financial institution refund number on the left. | ||
| Request Example | ||||||||
| { “client_refund_no”: “samplecode” } | ||||||||
| Response BODY | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Description |
| 1 | result | Refund Research Result Structure | String | – | N | All the columns are returned when resultType = "SUCCESS." "brandRefundNo" will be returned only for the Chinese financial institution. | ||
| 2 | clientRefundNo | Terminal Refund Processing Serial Number | String | 32 | N | Processing number generated by the merchant | ||
| 3 | gwRefundNo | GW Refund Processing Serial Number | String | 32 | N | Refund processing sequence number generated by GW | ||
| 4 | brandRefundNo | Financial Institution Refund Number | String | 50 | N | Financial institution refund number generated by the financial institution | ||
| 5 | clientOrderNo | Terminal Processing Serial Number | String | 32 | N | Terminal processing serial number at the time of payment request | ||
| 6 | gwOrderNo | GW Processing Serial Number | String | 32 | N | GW processing serial number at the time of payment request | ||
| 7 | BrandOrderNo | Financial Institution Number | String | 50 | N | Financial institution number at the time of payment request | ||
| 8 | orderPrice | Payment amount | Int | 11 | N | Payment amount at the time of payment request | ||
| 9 | refundStartTime | Refund Start Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | ||
| 10 | refundFinishTime | Refund Completion Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | ||
| 11 | currencyType | Payment Currency | String | 10 | N | “JPY” fixed | ||
| 12 | refundPrice | Refund Amount | Int | 11 | N | Payment amount at the time of payment request | ||
| 13 | Exchange Rate | Exchange Rate | String | 16 | N | Example: 0.056236 | ||
| 14 | actualPrice | Local Currency Payment Amount | Int | 11 | N | The smallest unit of local currency | ||
| 13 | refundStatus | Refund Status | Int | 4 | N | 1: Refund Successful 3: Refund Failure | ||
| 14 | resultCode | Processing Result Code | String | 64 | Y | |||
| 15 | resultMessage | Processing Result MSG | String | 1024 | Y | |||
| 16 | resultType | Processing Result Type | String | 15 | Y | This result is the result of the process of the payment request and different from the payment status. This is SUCCESS when the payment request is normally created and the communication interface of the financial institution is normally called. The return value is FAILED in the following cases: 1. When an internal system error occurs | ||
| Response example (please note that the columns are in random order) | ||||||||
| { "result":{ “clientRefundNo”:”samplecode”, “gwRefundNo”:”samplecode”, “brandRefundNo”:”2008012001201706261093075024″, “clientOrderNo”:”samplecode”, “gwOrderNo”:”samplecode”, “brandOrderNo”:”2008012001201706261093075024″, “orderPrice”:100, “refundStartTime”:”2017-06-26 12:23:31″, “refundFinishTime”:”2017-06-26 12:23:33″, “currencyType”:”JPY”, “refundPrice”:100, “refundStatus”:1 }, ”resultCode”:”0000″, “resultMessage”:”null”, “resultType”:”SUCCESS” } | ||||||||
05.Payment Cancellation
| Interface Name | Payment Cancellation | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Request Type | POST | ||||||||
| URL | Test environment URL: https://{stg-url}/api/pay/pay/openClose Production environment URL:https://{prod-url}/api/pay/pay/openClose | ||||||||
| Interface Applications | An interface that resolves settlement status discrepancies by sending a payment cancellation message when a payment timeout occurs. | ||||||||
| Parameters | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Remarks | |
| 1 | clientOrderNo | Terminal Processing Serial Number | String | 32 | Y | ||||
| 2 | gwOrderNo | GW Financial Institution Number | String | 32 | N | ||||
| Request Example | |||||||||
| { “clientOrderNo”: “4a5076b8d82d4e16a9d83ae6a2a40b94”, “gwOrderNo”: “4a5076b8d82d4e16a9d83ae6a2a40b94” } | |||||||||
| Response BODY | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Description | |
| 1 | result | Payment Cancellation Result Structure | String | – | N | All the columns are returned when resultType = "SUCCESS" | |||
| 2 | clientOrderNo | Terminal Processing Serial Number | String | 32 | N | Processing number generated by the merchant | |||
| 3 | gwOrderNo | GW Processing Serial Number | String | 32 | N | Processing sequence number generated by GW | |||
| 4 | orderSubject | Payment Title | String | 50 | N | “Purchased Item” fixed | |||
| 5 | currencyType | Payment Currency | String | 10 | N | “JPY” fixed | |||
| 6 | orderPrice | Payment amount | Int | 11 | N | ||||
| 7 | orderStatus | Payment Status | Int | 4 | N | 1: Payment Success 3: Payment Failed 4:Payment cancellation | |||
| 8 | BrandType | Financial Institution | String | 2 | N | 02:WeChat Pay | |||
| 9 | orderStartTime | Payment start time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 10 | resultCode | Processing Result Code | String | 64 | Y | ||||
| 11 | resultMessage | Processing Result MSG | String | 1024 | Y | ||||
| 12 | resultType | Processing Result Type | String | 15 | Y | This result is the result of the process of the payment request and different from the payment status. This is SUCCESS when the payment request is normally created and the communication interface of the financial institution is normally called. The return value is FAILED in the following cases: 1. When the transaction number already exists 2. When failed to call the interface of the financial institution 3. When an internal system error occurs | |||
| Response example (please note that the columns are in random order) | |||||||||
| { "result":{ “clientOrderNo”:”samplecode”, “gwOrderNo”:”samplecode”, “orderSubject”:”Purchased Item”, “currencyType”:”JPY”, “orderPrice”:100, “orderStatus”:4, “brandType”:”02″, “orderStartTime”:”2018-01-01 00:00:01″ }, ”resultCode”:”0000″, “resultMessage”:”null”, “resultType”:”SUCCESS” } | |||||||||
06.Result Notification
| Interface Name | Result Notification | ||||||
|---|---|---|---|---|---|---|---|
| Request Type | POST | ||||||
| URL | https://XXXX returnUrl result notification URL in 01. payment request | ||||||
| Interface Applications | If payType=“02” for “payment request” and “returnUrl” is a valid http address, OPRAL will send a “http/https” result notification to “returnUrl” after receiving a successful payment response. | ||||||
| Https Headers | Accept-Charset UTF-8 User-Agent OPREAL/v1 Accept-Language jp | ||||||
| Parameters | Column Name (English) (Level1) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Remarks | |
| 1 | clientOrderNo | Terminal Processing Serial Number | String | 32 | N | Processing number generated by the merchant | |
| 2 | gwOrderNo | GW Processing Serial Number | String | 32 | N | Processing sequence number generated by GW | |
| 3 | BrandOrderNo | Financial Institution Number | String | 50 | N | Payment number generated by the financial institution | |
| 4 | customerId | Customer ID | String | 30 | N | Number indicating the individual end user * As for WeChat and Alipay, this corresponds to "openid" and "alipay_login_id," respectively | |
| 5 | orderSubject | Payment Title | String | 50 | N | ||
| 6 | currencyType | Payment Currency | String | 10 | N | “Purchased Item” fixed | |
| 7 | orderPrice | Payment amount | int | 11 | N | “JPY” fixed | |
| 8 | Exchange Rate | Exchange Rate | String | 16 | N | Example: 0.056236 | |
| 9 | actualPrice | Local Currency Payment Amount | Int | 11 | N | The smallest unit of local currency | |
| 10 | BrandType | Financial Institution | String | 2 | N | 02: WeChatPay | |
| 11 | orderStatus | Payment Status | int | 4 | N | 0: Waiting for payment 1: Payment Success 2: Payment in progress 3: Payment Failed 4:Payment cancellation 7: Payment in progress by end user | |
| 12 | orderStartTime | Payment start time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |
| 13 | orderFinishTime | Payment Completed Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |
| Response example (please note that the columns are in random order) | |||||||
| { “clientOrderNo”:”samplecode”, “gwOrderNo”:”samplecode”, “brandOrderNo”:”samplecode”, “customerId”:”asd8uy1j2e890sud89″, “orderSubject”:”Purchased Item”, “currencyType”:”JPY”, “orderPrice”:100, “brandType”:”02″, “orderStatus”:1, “orderStartTime”:”2018-01-01 00:00:01″, “orderFinishTime”:”2018-01-01 00:00:02″ } | |||||||
| Response BODY | Column Name (English) (Level1) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Remarks | |
| Any response is allowable provided httpcode is 200. { } | |||||||
07.Customs Clearance Requirements
| Interface Name | Customs Clearance Request | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Request Type | POST | ||||||||
| URL | Test environment URL: https://{stg-url}/api/pay/customsDeclare/declare Production environment URL:https://{prod-url}/api/pay/customsDeclare/declare | ||||||||
| Interface Applications | When online payment is completed, the customs clearance request interface is invoked, and if the customs clearance request status is “2-declaration”, a customs clearance modification request can be implemented. | ||||||||
| Parameters | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Remarks | |
| 1 | clientDeclareNo | Terminal Customs Clearance Number | String | 32 | Y | Terminal customs clearance number generated by merchant side, A unique check is performed on the GW side. | |||
| 2 | clientOrderNo | Terminal Processing Serial Number | String | 32 | Y | Terminal processing serial number generated by merchant side, A unique check is performed on the GW side. | |||
| 3 | subClientOrderNo | Sub-terminal Processing Serial Number | String | 32 | C | A sub terminal process sequential number generated by the Merchant side. The gateway checks the uniqueness. (Required when the payment is divided) | |||
| 4 | Customs | Customs Code | String | 32 | Y | GUANGZHOU_ZS Guangzhou (General Administration of Customs) HANGZHOU_ZS Hangzhou (General Administration of Customs) NINGBO Ningbo ZHENGZHOU_BS Zhengzhou (Bonded logistics center) CHONGQING Chongqing SHANGHAI_ZS Shanghai (General Administration of Customs) SHENZHEN Shenzhen ZHENGZHOU_ZH_ZS Zhengzhou general bonded area (General Administration of Customs) TIANJIN Tianjin (if order sheets need to be sent to Tianjin customs, the registration information of Tianjin customs and the inspection record information of Tianjin need to be placed in the management backstage of the partner. To call the customs interface, just pushing the Tianjin customs requests the customs interface.) | |||
| 5 | mchCustomsNo | Supplier Customs Notification Number | String | 50 | Y | Partner's application number registered with the customs | |||
| 6 | duty | Customs Duties | int | 11 | N | The currency type is CNY, and the minimum unit is fen | |||
| 7 | isAdd | Additional Flags | String | 2 | N | Additional Flags 0: No 1: Yes Default value: 1: Yes | |||
| 8 | TransportFee | Sub-order Logistics Costs | int | 11 | C | The currency type is CNY, and the minimum unit is fen. Required unless subClientOrderNo is NULL | |||
| 9 | productFee | Sub-order Logistics Costs | int | 11 | C | The currency type is CNY, and the minimum unit is fen. Required unless subClientOrderNo is NULL | |||
| 10 | certId | Identification ID | String | 64 | N | Identification Number | |||
| 11 | name | Name | String | 64 | N | User Name | |||
| Example | |||||||||
| { “clientOrderNo”:”samplecode”, “clientDeclareNo”:”samplecode”, “customs”:”SHENZHEN”, “mchCustomsNo”:”samplecode” } | |||||||||
| Response BODY | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Description | |
| 1 | result | Customs Clearance Request Result Structure | String | – | N | All the columns are returned when resultType = "SUCCESS" | |||
| 2 | clientDeclareNo | Terminal Customs Clearance Number | String | 32 | N | ||||
| 3 | gwDeclareNo | GW Customs Clearance Processing Number | String | 32 | N | ||||
| 4 | brandDeclareNo | Financial Institution Customs Clearance Number | String | 80 | N | ||||
| 5 | clientOrderNo | Terminal Processing Serial Number | String | 32 | N | ||||
| 6 | subClientOrderNo | Sub-terminal Processing Serial Number | String | 32 | N | ||||
| 7 | subGwOrderNo | GW Sub-Customs Clearance Processing Number | String | 32 | N | ||||
| 8 | subBrandOrderNo | Sub-financial Institution Customs Clearance Number | String | 50 | N | ||||
| 9 | gwOrderNo | GW Customs Clearance Processing Number | String | 32 | N | ||||
| 10 | BrandOrderNo | Financial Institution Customs Clearance Number | String | 50 | N | ||||
| 11 | verifyDepartment | Verification Agency | String | 16 | N | ||||
| 12 | verifyDepartmentTradeId | Verification Agency Transaction Serial Number | String | 80 | N | ||||
| 13 | BrandType | Financial Institution | String | 2 | N | 02: WeChatPay | |||
| 14 | declareState | Customs Status | int | 1 | N | 0: No application 1: Application success 2: Application submitted 3: Application failed 4: Application error 7: Application in progress | |||
| 15 | certCheckResult | Authentication Status | int | 1 | N | 0: UNCHECKED The partner has not uploaded the purchaser's identification information.
1: SAME The purchaser's identification information uploaded by the partner is the same as the payer's. 2: DIFFERENT The purchaser's identification information uploaded by the partner is different from the payer's. | |||
| 16 | declareStartTime | Customs Declaration Start Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 17 | declareUpdateTime | Customs Declaration Last Amendment Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 18 | declareFinishTime | Customs Clearance Completion Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 19 | resultCode | Processing Result Code | String | 64 | N | ||||
| 20 | resultMessage | Processing Result MSG | String | 1024 | Y | ||||
| 21 | resultType | Processing Result Type | String | 15 | Y | This result is the result of the process of the payment request and different from the customs clearance status. This is SUCCESS when the customs clearance request is normally created and the customs clearance interface is normally called. The return value is FAILED in the following cases: 1. When the terminal customs clearance sequential number already exists 2. When failed to call the customs clearance interface 3. When an internal system error occurs | |||
| Response example (please note that the columns are in random order) | |||||||||
| { "result":{ “clientOrderNo”:”samplecode”, “gwOrderNo”:”samplecode”, “brandOrderNo”:”samplecode”, “clientDeclareNo”:”samplecode”, “gwDeclareNo”:”samplecode”, “brandDeclareNo”:”samplecode”, “verifyDepartment”:”samplecode”, “verifyDepartmentTradeId”:”samplecode”, “certCheckResult”:”0″, “certCheckResult”:”0″, “declareState”:2, “brandType”:”02″ “declareStartTime”:”2018-01-01 00:00:01″, “declareUpdateTime”:”2018-01-01 00:00:01″ }, ”resultCode”:”0000″, “resultMessage”:”null”, “resultType”:”SUCCESS” } | |||||||||
08.Customs Clearance History Search
| Interface Name | Customs Clearance History Search | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Request Type | POST | ||||||||
| URL | Test environment URL: https://{stg-url}/api/pay/customsDeclare/query Production environment URL:https://{prod-url}/api/pay/customsDeclare/query | ||||||||
| Interface Applications | Interface for searching results of customs clearance request. | ||||||||
| Parameters | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Remarks | |
| 1 | clientDeclareNo | Terminal Customs Clearance Number | String | 32 | Y | Terminal customs clearance number generated by merchant side, A unique check is performed on the GW side. | |||
| 2 | gwDeclareNo | GW Customs Clearance Processing Number | String | 32 | Y | Customs processing passnumber generated by merchant side, A unique check is performed on the GW side. | |||
| Request Example | |||||||||
| { “clientDeclareNo”:”samplecode”, “gwDeclareNo”:”samplecode” } | |||||||||
| Response BODY | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Description | |
| 1 | result | Customs Clearance History Search Structure | String | – | N | If resultType="SUCCESS", all columns are returned. | |||
| 2 | clientDeclareNo | Terminal Customs Clearance Number | String | 32 | N | ||||
| 3 | gwDeclareNo | GW Customs Clearance Processing Number | String | 32 | N | ||||
| 4 | brandDeclareNo | Financial Institution Customs Clearance Number | String | 80 | N | ||||
| 5 | clientOrderNo | Terminal Processing Serial Number | String | 32 | N | ||||
| 6 | subClientOrderNo | Sub-terminal Processing Serial Number | String | 32 | N | ||||
| 7 | subGwOrderNo | GW Sub-Customs Clearance Processing Number | String | 32 | N | ||||
| 8 | subBrandOrderNo | Sub-financial Institution Customs Clearance Number | String | 50 | N | ||||
| 9 | gwOrderNo | GW Customs Clearance Processing Number | String | 32 | N | ||||
| 10 | BrandOrderNo | Financial Institution Customs Clearance Number | String | 50 | N | ||||
| 11 | verifyDepartment | Verification Agency | String | 16 | N | ||||
| 12 | verifyDepartmentTradeId | Verification Agency Transaction Serial Number | String | 80 | N | ||||
| 13 | BrandType | Financial Institution | String | 2 | N | 02: WeChatPay | |||
| 14 | declareState | Customs Status | int | 1 | N | 0: No application 1: Application success 2: Application submitted 3: Application failed 4: Application error 7: Application in progress | |||
| 15 | certCheckResult | Authentication Status | int | 1 | N | 0: UNCHECKED The partner has not uploaded the purchaser's identification information.
1: SAME The purchaser's identification information uploaded by the partner is the same as the payer's. 2: DIFFERENT The purchaser's identification information uploaded by the partner is different from the payer's. | |||
| 16 | declareStartTime | Customs Declaration Start Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 17 | declareUpdateTime | Customs Declaration Last Amendment Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 18 | declareFinishTime | Customs Clearance Completion Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 19 | resultCode | Processing Result Code | String | 64 | N | ||||
| 20 | resultMessage | Processing Result MSG | String | 1024 | Y | ||||
| 21 | resultType | Processing Result Type | String | 15 | Y | This result is the result of the process of the payment request and different from the customs clearance status. This is SUCCESS when the customs clearance request is normally created and the customs clearance interface is normally called. The return value is FAILED in the following cases: 1. When the terminal customs clearance sequential number already exists 2. When failed to call the customs clearance interface 3. When an internal system error occurs | |||
| Response example (please note that the columns are in random order) | |||||||||
| { "result":{ “clientOrderNo”:”samplecode”, “gwOrderNo”:”samplecode”, “brandOrderNo”:”samplecode”, “clientDeclareNo”:”samplecode”, “gwDeclareNo”:”samplecode”, “brandDeclareNo”:”samplecode”, “verifyDepartment”:”samplecode”, “verifyDepartmentTradeId”:”samplecode”, “certCheckResult”:”0″, “certCheckResult”:”0″, “declareState”:2, “brandType”:”02″ “declareStartTime”:”2018-01-01 00:00:01″, “declareUpdateTime”:”2018-01-01 00:00:01″ }, ”resultCode”:”0000″, “resultMessage”:”null”, “resultType”:”SUCCESS” } | |||||||||
09. Customs Re-Clearance Request
| Interface Name | Customs Clearance Re-request | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Request Type | POST | ||||||||
| URL | Test environment URL: https://{stg-url}/api/pay/customsDeclare/redeclare Production environment URL:https://{prod-url}/api/pay/customsDeclare/redeclare | ||||||||
| Interface Applications | The customs clearance can be requested again when the customs clearance request status is "2 - Application." | ||||||||
| Parameters | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Remarks | |
| 1 | clientDeclareNo | Terminal Customs Clearance Number | String | 32 | Y | Terminal customs clearance number generated by merchant side, A unique check is performed on the GW side. | |||
| 2 | gwDeclareNo | GW Customs Clearance Processing Number | String | 32 | Y | Customs processing passnumber generated by merchant side, A unique check is performed on the GW side. | |||
| Request Example | |||||||||
| { “clientDeclareNo”:”samplecode”, “gwDeclareNo”:”samplecode” } | |||||||||
| Response BODY | Column Name (English) (Level1) | Column Name (English) (Level2) | Column Name (English) (Level3) | Column Name | Parameter Type | Character | Required (Y: Required, N: Optional) | Description | |
| 1 | result | Customs Clearance Re-request Result Structure | String | – | N | All the columns are returned when resultType = "SUCCESS" | |||
| 2 | clientDeclareNo | Terminal Customs Clearance Number | String | 32 | N | ||||
| 3 | gwDeclareNo | GW Customs Clearance Processing Number | String | 32 | N | ||||
| 4 | brandDeclareNo | Financial Institution Customs Clearance Number | String | 80 | N | ||||
| 5 | clientOrderNo | Terminal Processing Serial Number | String | 32 | N | ||||
| 6 | subClientOrderNo | Sub-terminal Processing Serial Number | String | 32 | N | ||||
| 7 | subGwOrderNo | GW Sub-Customs Clearance Processing Number | String | 32 | N | ||||
| 8 | subBrandOrderNo | Sub-financial Institution Customs Clearance Number | String | 50 | N | ||||
| 9 | gwOrderNo | GW Customs Clearance Processing Number | String | 32 | N | ||||
| 10 | BrandOrderNo | Financial Institution Customs Clearance Number | String | 50 | N | ||||
| 11 | verifyDepartment | Verification Agency | String | 16 | N | ||||
| 12 | verifyDepartmentTradeId | Verification Agency Transaction Serial Number | String | 80 | N | ||||
| 13 | BrandType | Financial Institution | String | 2 | N | 02: WeChatPay | |||
| 14 | declareState | Customs Status | int | 1 | N | 0: No application 1: Application success 2: Application submitted 3: Application failed 4: Application error 7: Application in progress | |||
| 15 | certCheckResult | Authentication Status | int | 1 | N | 0: UNCHECKED The partner has not uploaded the purchaser's identification information.
1: SAME The purchaser's identification information uploaded by the partner is the same as the payer's. 2: DIFFERENT The purchaser's identification information uploaded by the partner is different from the payer's. | |||
| 16 | declareStartTime | Customs Declaration Start Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 17 | declareUpdateTime | Customs Declaration Last Amendment Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 18 | declareFinishTime | Customs Clearance Completion Time | String | 20 | N | datetime format "YYYY-MM-DD HH:MI:SS" | |||
| 19 | Explanation | Customs Clearance Description | String | 128 | N | ||||
| 20 | resultCode | Processing Result Code | String | 64 | N | ||||
| 21 | resultMessage | Processing Result MSG | String | 1024 | Y | ||||
| 22 | resultType | Processing Result Type | String | 15 | Y | This result is the result of the process of the payment request and different from the customs clearance status. This is SUCCESS when the customs clearance request is normally created and the customs clearance interface is normally called. The return value is FAILED in the following cases: 1. When the terminal customs clearance sequential number already exists 2. When failed to call the customs clearance interface 3. When an internal system error occurs | |||
| Response example (please note that the columns are in random order) | |||||||||
| { "result":{ “clientOrderNo”:”samplecode”, “gwOrderNo”:”samplecode”, “brandOrderNo”:”samplecode”, “clientDeclareNo”:”samplecode”, “gwDeclareNo”:”samplecode”, “brandDeclareNo”:”samplecode”, “verifyDepartment”:”samplecode”, “verifyDepartmentTradeId”:”samplecode”, “certCheckResult”:”0″, “certCheckResult”:”0″, “declareState”:2, “brandType”:”02″ “declareStartTime”:”2018-01-01 00:00:01″, “declareUpdateTime”:”2018-01-01 00:00:01″ }, ”resultCode”:”0000″, “resultMessage”:”null”, “resultType”:”SUCCESS” } | |||||||||
System Processing Sequence
Web Type (PC payment)
"Payment Request Sequence" *WeChat Pay

The HTTP/HTTPS result notification is sent to the Merchant server at the notification destination address specified in the "returnUrl" column upon the payment request.
The notification destination can be changed as necessary by setting the value in "returnUrl."
Abnormality
“Unable To Receive Result Notification Sequence (recommended) *WeChat Pay

“Unable To Receive Payment Request Response Sequence (recommended) *WeChat Pay

Web Type (Smartphone Payment)
"Settlement sequence" * WeChat Pay
* The end user's terminal is a smartphone, and the browser is not the WeChat browser

The HTTP/HTTPS result notification is sent to the Merchant server at the notification destination address specified in the "returnUrl" column upon the payment request.
The notification destination can be changed as necessary by setting the value in "returnUrl."
Abnormality
“Unable To Receive Result Notification Sequence (recommended) *WeChat Pay
* The end user's terminal is a smartphone, and the browser is not the WeChat browser

“Unable To Receive Payment Request Response Sequence (recommended) *WeChat Pay

InAPP type
"Settlement sequence" * WeChat Pay

The HTTP/HTTPS result notification is sent to the Merchant server at the notification destination address specified in the "returnUrl" column upon the payment request.
The notification destination can be changed as necessary by setting the value in "returnUrl."
Abnormality
“Unable To Receive Result Notification Sequence (recommended) *WeChat Pay

“Unable To Receive Payment Request Response Sequence (recommended) *WeChat Pay

Mini Program Type
"Settlement sequence" * WeChat Pay

The HTTP/HTTPS result notification is sent to the Merchant server at the notification destination address specified in the "returnUrl" column upon the payment request.
The notification destination can be changed as necessary by setting the value in "returnUrl."
Abnormality
“Unable To Receive Result Notification Sequence (recommended) *WeChat Pay

“Unable To Receive Result Notification Sequence (recommended) *WeChat Pay

Customs Clearance Invoice
"Custom Clearance Request Sequence" *WeChat Pay

“Customs Clearance Re-request Sequence” *WeChat Pay

"Customs Clearance Re-quest Re-send Sequence" *WeChat Pay

Payment cancellations, refunds, and searches
The "Payment cancellation", "Refund request", "Payment history search", and "Refund history search" sequences are common to the WEB type (PC, smartphone), InApp type, and mini-program type.
Payment Cancellation

Use a new terminal process sequential number to make a request again through the Payment Request after Payment Cancellation. If the same terminal process sequential number is used for making another request, an error occurs.
A transaction whose payment has been succeeded cannot be canceled, though can be refunded.
Refund request

Payment History Search

Refund History Search

HTTP Header
| No | NAME | KEY | Value | Description | |
|---|---|---|---|---|---|
| 1 | ACCESS_TOKEN | X-OPREAL-AccessToken | Please refer to "About AccessToken" | Required Fields | |
| 2 | CHECK_SIGNATURE | X-OPREAL-Signature | Please refer to "Sign Specifications" | Required Fields | |
| 3 | User-Agent | User-Agent | Required Fields | ||
| 4 | Remote_IP | X-OPREAL-RemoteIP | Selected Items *Web Type (Smartphone Payment) Required | ||
| 5 | content_type | application/json; charset=UTF-8 | Required Fields |
| Example |
|---|
| HTTPs Request:[Url:http://{$stg-url}/api/history/orderInfo/openGet] HttpHeaders:{ “X-OPREAL-Signature”: [ “09860BC70F8254474EFA4CDA88ED63F2” ], “X-OPREAL-AccessToken”: [ “1ouiyasdijasid” ], “User-Agent”:[ “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36” ], "content-type": [ ”application/json; charset=UTF-8″ |
About AccessToken
* An access token is mandatory.
* Each Merchant shall generate and manage an access token.
The access token shall be embedded in "X-OPREAL-AccessToken" of the Header.
* For details about how to embed the header, see [HTTP Header].
About Linking AccessToken
Regarding the access token, after passing the merchant screening, SBPS Merchant Support will send the "Connection Information Guide (PDF)" to the person in charge by email.
Public Key
About the public key for the external terminal platform
An external terminal platform shall generate its own RSA public key (we recommend to use the RSA2 format. They will be referred to as the "external public key" and "external private key" later.) and upload the public key to the OLGW platform to obtain a public key for the OLGW platform (referred to as the "OLGW public key" later).
* Note 1: The access platform shall store the external private key,
and if the key is lost, it shall generate a key again and upload the key to OLGW.
* Note 2: The external platform shall make sure that the public key
and private key are the proper pair. If they are not a proper pair, direct payments will fail.
WeChat Pay SDK
1. iOS/Android Project Settings
https://pay.weixin.qq.com/wiki/doc/api/wxpay/en/pay/In-AppPay/chapter6_2.shtml
2. Signature Algorithm
https://pay.weixin.qq.com/wiki/doc/api/wxpay/en/pay/chapter2_2.shtml#menu1
Sign Specifications
Sine Value Generation Specifications
- Sort parameters in the POST body in ascending order (A to Z)
- Concatenate the key and value with "="
- Concatenate key value pairs with "&"
- If there are nests, substitute "&" for links of commas (",") in the nests.
- If the value is NULL, it is out of the target of signature.
- Attach a signature with RSA of the "SHA 256 WithRSA" method using the private key of the platform.
Processing Result Code
■ resultCode for payment success
| resultCode | resultMessage |
|---|---|
| 0000 | * Although this is success, there is no return value for "resultMessage". |
■ resultCode returned from gateway
| resultCode | resultMessage |
|---|---|
| param.access_token.invalid | Invalid Access Token |
| param.invalid | Invalid Parameter [{0}] |
| param.signature.invalid | Invalid Signature[{0}] |
| param.signature.isnull | [Signature] is empty, please enter a value |
| param.access_token.isnull | [Access Token] is empty, please enter a value |
| param.http_request_body.format.error | HttpRequest body format error |
| param.format.error | [{0}] Parameter format error |
| param.format.overlength.error | [{0}] field is too long |
| param.isnull.error | [{0}] is empty, please enter a value |
| param.format.over_maximum | [{0}]Exceeds the maximum value of {1} |
| order_info.not_same_company | The company code does not exist. |
| order_info.not_exist | There is no corresponding payment |
| order_info.not_pay_ok | The payment was not completed correctly. |
| order_info.client_order_no.duplicate | The terminal processing serial number is duplicated. |
| refund_info.refund_price.incorrect | Refund amount is invalid, Refund amount {0} |
| refund_info.refund_price.exceed_possible | Refund amount exceeds limit |
| refund_info.refund_no.duplicate | The corresponding refund processing number already exists. |
| order_info.pay_brand.invalid | Payment brand can not be selected |
| order_info.return_url.illegal | The payment URL is invalid. |
| order_info.expired | The payment has expired |
| refund_info.begin_processed_by_others | Someone else is refunding the payment |
| order_info.pay_type.incorrect | The value of [{0}] is invalid |
| order_info.pay_type.building | The payment brand is not available. |
| order_info.brand_type.building | The payment brand is not available. |
| order_info.brand_type.incorrect | The value of [{0}] is invalid |
| order_info.order_no.invalid | Please set the terminal processing serial number/GW processing serial number/financial institution number |
| refund_info.refund_no.invalid | Please set the terminal refund processing serial number/GW refund processing serial number/financial institution refund number |
| order_info.order_status.invalid | The value of [{0}] is invalid |
| order_info.has_refund.invalid | The value of [{0}] is invalid |
| refund_info.refund_status.invalid | The value of [{0}] is invalid |
| order_info.not_belong_to_this_open_account | The payment does not belong to this account |
| refund_info.not_belong_to_this_open_account | The refund does not belong to this account |
| org_order_info.not_belong_to_this_open_account | The original payment does not belong to this account |
| refund_info.not_exist | There is no corresponding refund |
| weixin.sub_mch_id.invalid | Invalid SubMchID |
| weixin.pay_config.invalid | Wechat connection parameters are invalid {0} |
| order_info.sub_brand.invalid | Payment sub-brand can not be selected |
| order_info.branch_unit.pay_brand.invalid | Branch payment brand can not be selected |
| order_info.trade_not_support | The transaction does not support authorization. |
| order_info.order_price.exceed_possible | The payment amount exceeded the authorized amount. |
| declare_order_info.not_belong_to_this_open_account | Customs clearance information does not belong to this account |
| declare_order_info.not_exist | There is no relevant customs clearance information. |
| declare_order_info.declare_order_no.invalid | Please enter your customs number/platform customs number |
| declare_order_info.client_declare_no.duplicate | Customs number is duplicated |
| declare_order_info.amount.incorrect | [{0}]Amount is invalid, Amount:{1} |
| order_info.branch.invalid | Unable to obtain payment store |
| branch_unit.pay_type.invalid | This branch does not accept payments for {0}. |
| order_info.has_been.paid | The payment has already been processed and cannot be cancelled. |
| order_info.has_been.refunded | The transaction has been fully refunded |
| fail | The operation or process timed out. |
Processing Result Code
■ resultCode returned from financial institution (WeChat Pay)
| resultCode | resultMessage |
|---|---|
| SYSTEM ERROR | System error |
| PARAM_ERROR | Incorrect parameter description |
| ORDERPAID | Corresponding payment is already complete. |
| NOAUTH | Not authorized to use the relevant API. |
| AUTHCODEEXPIRE | User's code has been expired. |
| NOTENOUGH | Insufficient user's balance |
| NOTSUPORTCARD | User's card does not support this payment method. |
| ORDERCLOSED | Corresponding payment has been closed. |
| ORDERREVERSED | Corresponding payment has been canceled. |
| BANKERROR | System error in the bank |
| USER PAYING | User is required to enter the payment password. |
| AUTH_CODE_ERROR | Incorrect request parameter description |
| AUTH_CODE_INVALID | Scanned code is not WeChat Pay code. |
| XML_FORMAT_ERROR | XML format error |
| REQUIRE_POST_METHOD | Parameters are not sent by POST method. |
| SIGNERROR | Wrong signature |
| LACK_PARAMS | Missing request parameter |
| NOT_UTF8 | Wrong coding format |
| BUYER_MISMATCH | Payment account has been changed. |
| APPID_NOT_EXIST | APPID does not included in the parameter. |
| MCHID_NOT_EXIST | MCHID does not included in the parameter. |
| OUT_TRADE_NO_USED | Merchant payment number is duplicated. |
| APPID_MCHID_NOT_MATCH | appid does not match mch_id. |
| INVALID_REQUEST | Invalid request |
| POST_DATA_EMPTY | Missing request parameter |
| ORDERNOTEXIST | Corresponding payment does not exist. |
| BIZERR_NEED_RETRY | Internal Error |
| TRADE_OVERDUE | Refundable period has passed. |
| ERROR | Other error |
| USER_ACCOUNT_ABNORMAL | Abnormality in the user account |
| INVALID_REQ_TOO_MUCH | Number of invalid requests reached the upper limit. |
| INVALID_TRANSACTIONID | Invalid transaction ID |
| REFUNDNOTEXIST | Corresponding refund does not exist. |
| ACCOUNTERROR | Unusable account |
| RULELIMIT | Credit limit would be exceeded. |
| 132011004 | Parameter error |
| 132021028 | Different currency type |
| MCHID_NOT_SET | Merchant number is not specified. |
| MCHID_INVALID_LENGTH | Invalid length of the trade name |
| CUSTOMSCONFIG_NOT_SET | Customs configuration is not specified. |
| FEETYPE_NOT_SET | Currency type is not specified. |
| OUTTRADENO_NOT_SET | Partner order number is not specified. |
| TRANSACTION_ID_NOT_SET | WeChat Pay order number is not specified. |
| INVALID_TRANSACTION_ID | Invalid length of the WeChat Pay order number |
| CUSTOMS_NOT_SET | Customs information is not specified. |
| CHCUSTOMSNO_NOT_SET | Customs application number is not specified. |
| INVALID_MCHCUSTOMSNO | Invalid length of the customs application number |
| PAYFEE_NOT_MATCH | Amount of money does not match. |
| INVALID_SUBORDER_NO | Invalid length of the sub order |
| AUTHORITY_NOT_FOUND | Auto customs function is not opened. |
| NO_AUTH | No rights |
| ORDER_REFUNDED | Corresponding transaction has already been fully refunded. |
| ORDER_NEED_DECLARE | Status of the corresponding transaction is that no application is made for customs. |
| FAILED | Consult the payment center. |