--- url: >- https://acquirer-api-docs-v4-en.pingpongx.com/en/notes/notify/bindNotify/cof/accTokenCreation/index.md description: >- The contract success notification interface is used to send asynchronous notifications to the merchant system after the user completes payment account binding. It is suitable for scenarios that require real-time awareness of user payment account binding status, and supports payment service access worldwide. Key features include passing data through HTTPS POST method to ensure information transmission security; the message body contains important parameters such as contract results and user identification, facilitating subsequent processing by merchants. --- # Contract Success Notification ```apidef endpoint: POST tokenization.cof.accTokenCreation name: Contract Success Notification summary: International-card binding-success webhook variant: International Card tags: Notify, Tokenization, CardOnFile ``` The contract success notification interface is used to send asynchronous notifications to the merchant system after the user completes payment account binding. It is suitable for scenarios that require real-time awareness of user payment account binding status, and supports payment service access worldwide. Key features include passing data through HTTPS POST method to ensure information transmission security; the message body contains important parameters such as contract results and user identification, facilitating subsequent processing by merchants. ## Request Parameters | Parameter | Type | Required | Description | |--------|------|------|------| | accId | string | M | PingPong Store Number | | clientId | string | M | PingPong Merchant Number | | code | string | M | Status Code | | description | string | M | Description | | sign | string | M | Signature, for details see the Signature Convention: /en/notes/guide/sign/ section in this article | | signType | string | M | Signature convention, supports MD5, SHA256, for details see the Signature Convention: /en/notes/guide/sign/ section in this article, all parameters are involved in the signature | | bizContent | string | M | Response parameters are passed as a whole, with no limit on length | | └─ exchangedCurrency | string | M | Currency for exchange | | └─ threeDSInfo | object | O | 3DS parameters | | └─ └─ authenticationResult | string | O | 3DS verification result, with the following enumeration values: Y: Verification passed; A: Cardholder did not participate, but a record of an attempt to authenticate has been recorded; N: Verification failed; | | └─ └─ liabilityShift | string | O | Liability shift, example value: Y/N | | └─ └─ eci | string | O | Only returned for transactions involving Visa, American Express, ICB, Diners Club, and Discover. This field is empty when authentication fails. The field contains one of the following values: 01: Attempted authentication (Mastercard) 01:; 02: Successful authentication (Mastercard); 05: Successful authentication (Visa, American Express, JCB, Diners Club, and Discover); 06: Attempted authentication (Visa, American Express, JCB, Diners Club, and Discover); | | └─ └─ authentication3DSecure | string | O | threeDSServerTransactionId / directoryServerTransactionId is not empty | | └─ └─ specificationVersion | string | O | 3DS version | | └─ └─ cavv | string | O | cavv | | └─ amount | string | M | Contract amount, 0 | | └─ authenticationInfo | object | O | Identity authentication information | | └─ └─ avsResult | string | O | Enumeration values as follows: Y(AVS full match); A(AVS street address only); Z(AVS postal/zip code only); N(AVS nonmatch); R(AVS indeterminate outcome (retry)); U(AVS unable to verify); | | └─ └─ cvvResult | string | O | CVV verification result | | └─ └─ threeDSecure | string | O | Whether 3DS verification is conducted, Y/N | | └─ cardInfo | object | O | Information of the bound card for the contract | | └─ └─ cardLevel | string | M | Card transaction - card level | | └─ └─ cardType | string | M | Card transaction - card type, with the following enumeration values: DEBIT; CREDIT; CHARGE; CARD; | | └─ └─ firstName | string | M | Cardholder name, character type, no special symbols | | └─ └─ lastName | string | M | Cardholder surname, character type, no special symbols | | └─ └─ firstSixDigits | string | M | First 6 digits of the card number | | └─ └─ lastFourDigits | string | M | Last 4 digits of the card number | | └─ └─ ipCountry | string | M | User's transaction country | | └─ └─ isoCountry | string | M | Issuing bank's country | | └─ └─ issuringBank | string | M | Issuing bank | | └─ └─ isoCountryA2 | string | C | Two-letter country code, compliant with ISO3166 standard | | └─ └─ paymentBrand | string | M | Card transaction - card brand: VISA / Mastercard / American Express/ JCB / Discover | | └─ threeDSecure | string | M | 3D indicator: Y; N; | | └─ transactionTime | string | M | Contract time | | └─ transactionId | string | M | PingPong contract serial number | | └─ token | string | M | Authorization token | | └─ notifyType | string | M | Notification type | | └─ requestId | string | M | Unique request number, globally unique | | └─ merchantTransactionId | string | M | Merchant order number | | └─ paymentMethod | string | M | Type and required details of the payment method to be used | | └─ └─ type | string | M | Card type | | └─ currency | string | M | Transaction currency | | └─ exchangedAmount | string | O | Exchange amount | | └─ captureDelayHours | integer | C | 0 indicates immediate capture; -1 indicates manual capture; after successfully calling the unified order API, you also need to call the pre-authorization capture: /notes/zh/checkout/api/modifications/capture/, not supported by local payments; | | └─ status | string | M | Status | ### Request Example ```json { "clientId": "2022102018024210348", "code": "000000", "bizContent": "{\"exchangedCurrency\":\"USD\",\"threeDSInfo\":{\"cavv\":\"AJkBAoEREQAAAAB4hABwcAAAAAA=\",\"authenticationResult\":\"Y\",\"liabilityShift\":\"Y\",\"eci\":\"05\",\"authentication3DSecure\":\"119ee498-d4d6-4283-9775-6b39c48d4657\",\"specificationVersion\":\"\"},\"amount\":\"0.000000\",\"authenticationInfo\":{\"avsResult\":\"Unknown\",\"cvvResult\":\"Y\",\"threeDSecure\":\"Y\"},\"cardInfo\":{\"firstName\":\"James\",\"lastName\":\"LeBron\",\"lastFourDigits\":\"0015\",\"paymentBrand\":\"Mastercard\",\"firstSixDigits\":\"529991\"},\"threeDSecure\":\"Y\",\"transactionTime\":\"1716978201000\",\"transactionId\":\"2024052950139153\",\"token\":\"97b4e5b9fb4e53727ef7cbf0b25a3d42\",\"notifyType\":\"RECHARGE\",\"requestId\":\"PMT-PGGGNIPC0P1716978198933\",\"merchantTransactionId\":\"PMT-PGGGNIPC0P1716978198933\",\"paymentMethod\":{\"type\":\"Mastercard\"},\"currency\":\"USD\",\"exchangedAmount\":\"0.000000\",\"captureDelayHours\":0,\"status\":\"SUCCESS\"}", "sign": "628020D85280D57C100DDCEC64930B5B19EDC99E51EA849A0A90A8FAA4A52C8D", "accId": "2022102018024210348883", "description": "Transaction succeeded", "signType": "SHA256" } ```