--- url: >- https://acquirer-api-docs-v4-en.pingpongx.com/en/notes/api/services/marketplaces/mpCapture/index.md description: >- The CAPTURE - Pre-Authorization Capture API is used to formally charge the pre-authorized payment amount. Suitable for scenarios where merchants need to verify buyer payment capability before shipping, supporting major global markets. By calling this API, merchants can specify key parameters such as transaction ID and amount to complete the charging process. --- # Pre-Authorization Capture ```apidef endpoint: POST /v4/payment/capture name: CAPTURE - Pre-Authorization Capture ``` The CAPTURE - Pre-Authorization Capture API is used to formally charge the pre-authorized payment amount. Suitable for scenarios where merchants need to verify buyer payment capability before shipping, supporting major global markets. By calling this API, merchants can specify key parameters such as transaction ID and amount to complete the charging process. ## Request Parameters | Parameter | Type | Required | Description | |--------|------|------|------| | accId | string | M | Unique identifier for the store, which will appear in the response message after creation; inputting it means modifying the data | | clientId | string | M | PingPong Merchant ID | | signType | string | M | Supports MD5 , SHA256; for details, see the Signature Specification: /en/notes/guide/sign/ section of this document | | sign | string | M | Signature; for details, see the Signature Specification: /en/notes/guide/sign/ section of this document. All parameters participate in the signature | | version | string | M | Version number, currently fixed at 1.0, may be adjusted with changes to the interface in the future | | bizContent | string | M | Collection of request parameters, with no limit on maximum length. Except for common request parameters, all other request parameters must be passed within this parameter, format: JSON string | | └─ merchantTransactionId | string | M | Original transaction serial number of the merchant's website | | └─ merchantCaptureId | string | M | Pre-authorization capture serial number of the merchant's website, globally unique | | └─ amount | string | M | Transaction amount, retain two decimal places, for example 10.12, for some transaction currencies such as JPY, KRW where the smallest unit is the yuan, also require two decimal places to be sent, for example 29.00 | | └─ currency | string | M | Transaction currency, ISO 4217 three-letter code, see the attached list of supported transaction currencies for details | | └─ notificationUrl | string | O | A custom address set by the merchant for notifying the transaction result. Once this parameter is filled, PingPongCheckout will asynchronously push the transaction result to this address via POST. URL recommendation: use a complete URL with a publicly reachable domain name. Standard web ports are recommended (HTTPS defaults to 443 and HTTP defaults to 80). Ensure the URL can reliably receive PingPongCheckout asynchronous notifications. | | └─ subOrderList | array | O | List of sub-order information | | └─ └─ subMerchantId | string | M | Sub-merchant number on the merchant platform | | └─ └─ subMerchantTransactionId | string | M | Sub-merchant order number, a unique identifier for the sub-order | | └─ └─ amount | string | M | Sub-order amount | | └─ └─ currency | string | M | Currency of the sub-order amount, which must be consistent with the original transaction amount currency | ### Request Example ```json { "accId": "2023042011040310224447", "bizContent": "{\"merchantCaptureId\":\"PMT-2S7RR3K4LQ1715047351210\",\"merchantTransactionId\":\"PMT-2S7RR3K4LQ1715047351210\",\"amount\":\"100\",\"currency\":\"USD\",\"notificationUrl\":\"https://test-acquirerpay.pingpongx.com/qa/notify\"}", "clientId": "2023042011040310224", "sign": "4DCA0F0F91CDBB45DC0D40350CF428215C76CA29B282AEBBAA76CC09751E0ED1", "signType": "SHA256", "version": "1.0" } ``` ## Response Parameters | Parameter | Type | Description | |--------|------|------| | accId | string | Unique store identifier, which will appear in the response message after being added; inputting it means modifying the data | | clientId | string | PingPong merchant number | | signType | string | Supports MD5 , SHA256; for details, see the Signature Specification: /en/notes/guide/sign/ section of this document | | sign | string | Signature; for details, see the Signature Specification: /en/notes/guide/sign/ section of this document. All parameters participate in the signature | | code | string | Result status code, see the appendix Status Code Table: /en/notes/appendix/successCodeList/ | | description | string | Result description | | bizContent | string | Business response parameters | | └─ transactionId | string | PingPong original transaction serial number | | └─ merchantTransactionId | string | Merchant website's original transaction serial number | | └─ merchantCaptureId | string | Merchant website's pre-authorization capture serial number, globally unique | | └─ currency | string | Transaction currency | | └─ amount | string | Transaction amount | | └─ captureTime | string | Capture initiation time, timestamp | | └─ captureEndingTime | string | Capture final state arrival time, timestamp | | └─ status | string | SUCCESS - Success; FAILED - Failure; PROCESSING - In progress; | ### Response Example ```json { "accId": "2023042011040310224447", "bizContent": "{\"amount\":\"100.000000\",\"merchantCaptureId\":\"PMT-2S7RR3K4LQ1715047351210\",\"captureTime\":\"1715047466000\",\"transactionId\":\"2024050750046460\",\"captureEndingTime\":\"1715047468242\",\"merchantTransactionId\":\"PMT-2S7RR3K4LQ1715047351210\",\"currency\":\"USD\",\"status\":\"SUCCESS\"}", "clientId": "2023042011040310224", "code": "000000", "description": "Transaction succeeded", "sign": "5033C47D3A1CF3E19A4B0EE0E566CE723D67E8BA236B828829BDE586CA999D2A", "signType": "SHA256" } ```