Skip to content

Result Notification

  • Endpoint: POST /collectResultNotifyUrl
  • Tags: Collection Service

Description

After the payment is completed, PayerMax will send the payment result to the merchant in the form of a data stream. The merchant needs to receive and process it and return the response according to the document specification. It is not necessary to actively requested this address for the merchant. The following request.body is the callback content of payermax for the order status. The merchant needs to respond {"msg": "Success","code": "SUCCESS"} after receiving the callback.

Parameters

FieldInTypeRequiredConstraintsDescription
Content-TypeheaderstringYes
signheaderstringYes签名信息请参考技术文档

Parameter Examples

  • Content-Type: "application/json"
  • sign: "FPFVT3o227JrFRbqu19boZCpVVTF9KznxyRawUmxpfXilHV/0yK46haPhAjNu1hPUMy7Vw/ILXhfzffNm4Fj0apWknlTY9OJxnSoQxS9BTFtc61tn5yV1q69x/kkBl82/qwg+XTJ4fOzy7Mar3VaC1E2PlDA6RkkKBUyNE6RYgsdB+Su7an4+4HVTNAnoe74WyvBgxTLMNg28igBTdqxaO3w/UBY6ObVp7vkqkQGdL1Y+HgmMYaAVwrM3+ALWGId0sJ+YqTY4WJ+0xCRGhaSnybiIjZsQEYyID68WNUfuavDLDsEhaMm/HfQvf5p0R1Ltovp3wwJnEbQcjY458iX5A=="

Request Body

Content-Type: application/json

FieldTypeRequiredConstraintsDescriptionEnum
codestringYesmaxLength: 32Return Code. When the transaction is successful, code: APPLY_SUCCESS and status: SUCCESS; If the transaction fails, the code will return a transaction failure error code and the status is FAILED or CLOSED.
keyVersionstringYesSignature Algorithm Version, Current value: 1
appIdstringYesMerchant AppId,The unique identifier assigned to the merchant app by PayerMax
merchantNostringNomaxLength: 32Merchant Id, the unique identifier generated when the merchant signs the contract with PayerMax
msgstringYesmaxLength: 256Return Message. When the transaction is successful, msg:Success. and status: SUCCESS; If the transaction fails, msg will return the transaction failure error msg and the status is FAILED or CLOSED.
notifyTimestringYesmaxLength: 32Notification time,Compliant with rfc3339 specification, format:yyyy-MM-dd’T’HH:mm:ss.SSSXXX
notifyTypestringYesmaxLength: 16Notification Type PAYMENT
dataobjectYesNotify data body
data.outTradeNostringYesmaxLength: 64Merchant order id
data.tradeTokenstringYesmaxLength: 64PayerMax order id
data.totalAmountnumberYesThe order amount sent by the merchant. The unit of the amount is yuan, and it is returned according to the decimal point supported by the currency of each country.
data.currencystringYesmaxLength: 3Order Currency
data.countrystringNomaxLength: 2The country code the user paid for, in capital letters
data.statusstringYesmaxLength: 32Transaction StatusSUCCESS, FAILED, CLOSED
data.completeTimestringYesComplete Time
data.paymentDetailsarray[object]NoPayment Details
data.paymentDetails[].paymentMethodTypestringYesmaxLength: 16The payment method type selected by the user for payment, which will only be returned if the transaction is successful
data.paymentDetails[].targetOrgstringNomaxLength: 32The target organisation chosen by the user, which will only be returned if the transaction is successful.When the payment method is CARD, see card information
data.paymentDetails[].cardInfoobjectNoCard Info (If you need to return, please contact the technical support.)
data.paymentDetails[].cardInfo.cardOrgstringNomaxLength: 32Card Scheme, will return when the user chooses card scheme to pay
data.paymentDetails[].cardInfo.countrystringNomaxLength: 2Card issuing country
data.paymentDetails[].cardInfo.cardTypestringNomaxLength: 32Card funding type, such as DEBITCREDIT and so on.
data.paymentDetails[].cardInfo.totalCardOrgarray[string]NoBrand of the card.Dual-standard card returns two brands.
data.paymentDetails[].cardInfo.typestringNomaxLength: 32Type of the card. PAN is a full pan; NETWORK_TOKEN is not a full pan, such as APPLEPAY.
data.paymentDetails[].cardInfo.sourcestringNomaxLength: 32Source of the card. CARDAPPLEPAYGOOGLEPAY_PANGOOGLEPAY_CRYPTOGRAMNETWORK_TOKEN
data.paymentDetails[].cardInfo.cardBinNostringNomaxLength: 16Card BIN number.
data.paymentDetails[].cardInfo.cardNumberstringNomaxLength: 32Masked card number.
data.paymentDetails[].cardInfo.cardHolderNamestringNomaxLength: 128Masked cardholder name.
data.paymentDetails[].cardInfo.cardLast4stringNomaxLength: 4The last four digits of the card.
data.paymentDetails[].cardInfo.cardExpirationYearstringNomaxLength: 2Two-digit number representing the card’s expiration year.
data.paymentDetails[].cardInfo.cardExpirationMonthstringNomaxLength: 2Two-digit number representing the card’s expiration month.
data.paymentDetails[].cardInfo.cardIdentifierNo ⚠️stringNomaxLength: 19Card number, the ciphertext is returned when paymentMethod is CARD
data.paymentDetails[].cardInfo.cardIdentifierName ⚠️stringNomaxLength: 192Card name, returned as a mask when paymentMethod is CARD
data.paymentDetails[].cardInfo.paymentTokenID ⚠️stringNomaxLength: 64In the card payment scenario, the authorization ID used for payment.The default validity period is the card validity period, which can be passed【removePaymentToken】 interface is set to invalid.
data.paymentDetails[].cardInfo.threeDSResultobjectNo3ds result
data.paymentDetails[].cardInfo.threeDSResult.threeDSVersionstringNomaxLength: 163ds version 1.0.2, 2.1.0, 2.2.0
data.paymentDetails[].cardInfo.threeDSResult.enrolledstringNomaxLength: 1Status of Authentication eligibility. Y - Yes, Bank is participating in 3-D Secure protocol and will return the ACSUrl N - No, Bank is not participating in 3-D Secure protocol U - Unavailable, The DS or ACS is not available for authentication at the time of the request B - Bypass, Merchant authentication rule is triggered to bypass authentication in this use case. (3DS Flex premium only)Y, U, B
data.paymentDetails[].cardInfo.threeDSResult.authenticationStatusstringNomaxLength: 1Transactions status result identifier. Y - Successful Authentication N - Failed Authentication U - Unable to Complete Authentication A - Successful Attempts Transaction R - Authentication Rejected (Merchant must not submit for authorisation)Y, N , U , A , R
data.paymentDetails[].cardInfo.threeDSResult.ecistringYesmaxLength: 2Electronic Commerce Indicator (ECI). Possible Values: 02 or 05 - Fully Authenticated Transaction 01 or 06 - Attempted Authentication Transaction 00 or 07 - Non 3-D Secure Transaction Mastercard - 02, 01, 00 Visa - 05, 06, 07
data.paymentDetails[].cardInfo.threeDSResult.dsTransactionIdstringNomaxLength: 64the Directory Server (DS)Assigned Unique ID
data.paymentDetails[].cardInfo.threeDSResult.cavvstringNomaxLength: 24Cardholder Authentication Verification Value (CAVV) Authentication Verification Value (AVV) Universal Cardholder Authentication Field (UCAF)
data.paymentDetails[].cardInfo.threeDSResult.xidstringNomaxLength: 64Authentication result ID
data.paymentDetails[].cardInfo.avsResultstringNoavs result
data.paymentDetails[].paymentTokenIDstringNomaxLength: 64In the card payment scenario, the authorization ID used for payment.The default validity period is the card validity period, which can be passed【removePaymentToken】 interface is set to invalid.
data.paymentDetails[].exchangeRatestringNoThe exchange rate for converting the price currency into the payment currency
data.paymentDetails[].payAmountnumberNouser pay amount
data.paymentDetails[].payCurrencystringNomaxLength: 3user pay currency
data.paymentDetails[].additionalDataobjectNoContains additional information about the payment
data.paymentDetails[].additionalData.rrnstringNoRetrieval Reference Number
data.paymentDetails[].additionalData.authCodestringNoAuthorization Code
data.feesobjectNoFee information, returned only when payment is successful and fees exist
data.fees.merFeeobjectYesmerchant tax fee
data.fees.merFee.urlstringYesmaxLength: 256Invoice URL, open the URL to preview the invoice
data.fees.merFee.amountstringYesmaxLength: 20fee amount
data.fees.merFee.currencystringYesmaxLength: 3fee currency
data.referencestringNomaxLength: 512Customized data for merchant, will be returned in Callback Notification and Inquiry
data.channelNostringNomaxLength: 64Channel Order No.
data.thirdChannelNostringNomaxLength: 64third channel No
data.paymentCodestringNomaxLength: 64VA No
data.cashierCountrystringNomaxLength: 2Country where payment is initiated at the checkout.
data.issuerResponseCodestringNoissuer response code
data.issuerResponseMsgstringNoissuer response message

Example

json
{
  "code": "APPLY_SUCCESS",
  "msg": "",
  "keyVersion": "1",
  "appId": "3b242b56a8b64274bcc37dac281120e3",
  "merchantNo": "020213827212251",
  "notifyTime": "2022-01-17T09:33:54.540+00:00",
  "notifyType": "PAYMENT",
  "data": {
    "outTradeNo": "P1642410680681",
    "tradeToken": "T2024062702289232000001",
    "totalAmount": 10000,
    "currency": "IDR",
    "channelNo": "DMCP000000000177005",
    "thirdChannelNo": "4ikqJ6ktEqyRawE1dvqb9c",
    "paymentCode": "2312121212",
    "country": "ID",
    "status": "SUCCESS",
    "completeTime": "2023-10-20T03:28:23.092Z",
    "paymentDetails": [
      {
        "paymentMethodType": "WALLET",
        "targetOrg": "DANA",
        "paymentTokenID": "PMTOKEN20230710080439571142400031000"
      }
    ],
    "reference": "020213827524152"
  }
}

Responses

200

FieldTypeRequiredConstraintsDescriptionEnum
codestringYesmaxLength: 32Response ‘SUCCESS’(Only means that the callback response is successful)
msgstringNomaxLength: 256Response’Success’(Only means that the callback response is successful)

Response Example

json
{
  "code": "SUCCESS",
  "msg": "Success"
}

Enum Reference

data.status

  • SUCCESS
  • FAILED
  • CLOSED

data.paymentDetails[].cardInfo.threeDSResult.enrolled

  • Y
  • U
  • B

data.paymentDetails[].cardInfo.threeDSResult.authenticationStatus

  • Y
  • N
  • U
  • A
  • R

Was this page helpful?

Thank you for your help in improving PayerMax Product Docs!

Released under the MIT License.