Skip to content

Payment Result Notification

  • Endpoint: POST /subscriptionPaymentResultNotifyUrl
  • Tags: Collection Service/Subscription Management

Description

Once activated, PayerMax will automatically process recurring payments according to the billing cycle specified when the merchant created the subscription plan. Payment Notifications: (1) Merchants will receive payment result notifications after each successful payment. (2) For failed payments: PayerMax will retry it, and will notify the merchant of the payment result after the final retry attempt.

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:SUBSCRIPTION_PAYMENT
dataobjectYes
data.subscriptionRequestIdstringYesmaxLength: 64Merchant's unique request ID for subscription plan creation.
data.userIdstringYesmaxLength: 64User ID.
data.subscriptionPlanobjectYesSubscription plan details
data.subscriptionPlan.subscriptionNostringYesmaxLength: 64PayerMax subscription plan ID.
data.subscriptionPaymentDetailobjectYesPayment details for the subscription period.
data.subscriptionPaymentDetail.subscriptionIndexnumberYesSubscription period sequence number.
data.subscriptionPaymentDetail.paymentStatusstringYesmaxLength: 32Current payment status: PENDING: Processing SUCCESS: Successful FAILED: Failed
data.subscriptionPaymentDetail.periodStartTimestringYesSubscription period start time. Example: 2025-01-13T15:59:59+0000
data.subscriptionPaymentDetail.periodEndTimestringYesSubscription period end time. Example: 2025-02-13T15:59:59+0000
data.subscriptionPaymentDetail.payAmountobjectYesPayment amount details.
data.subscriptionPaymentDetail.payAmount.amountnumberNoPayment amount.
data.subscriptionPaymentDetail.payAmount.currencystringNomaxLength: 3Currency code.
data.subscriptionPaymentDetail.paymentMethodTypestringYesmaxLength: 64Payment method type.
data.subscriptionPaymentDetail.cardOrgstringYesmaxLength: 64Card organization/brand.
data.subscriptionPaymentDetail.lastPaymentInfoobjectYesLatest payment attempt details
data.subscriptionPaymentDetail.lastPaymentInfo.lastPaymentStatusstringYesmaxLength: 32Latest payment result: PENDING: Processing SUCCESS: Successful FAILED: Failed
data.subscriptionPaymentDetail.lastPaymentInfo.payTimestringYesPayment time. Example: 2025-01-12T15:59:59+0000
data.subscriptionPaymentDetail.lastPaymentInfo.tradeTokenstringNomaxLength: 64Payment transaction ID (Can be used for refund). Note: This value must be present when success.
data.subscriptionPaymentDetail.lastPaymentInfo.errorCodestringNomaxLength: 64Payment failure error code.
data.subscriptionPaymentDetail.lastPaymentInfo.errorMsgstringNomaxLength: 512Payment failure error message.
data.subscriptionPaymentDetail.cardInfoobjectNoCard Info
data.subscriptionPaymentDetail.cardInfo.cardOrgstringNomaxLength: 32Card Scheme, will return when the user chooses card scheme to pay
data.subscriptionPaymentDetail.cardInfo.countrystringNomaxLength: 2Card issuing country
data.subscriptionPaymentDetail.cardInfo.cardTypestringNomaxLength: 32Card funding type, such as DEBITCREDIT and so on.
data.subscriptionPaymentDetail.cardInfo.totalCardOrgarray[string]NoBrand of the card.Dual-standard card returns two brands.
data.subscriptionPaymentDetail.cardInfo.typestringNomaxLength: 32Type of the card. PAN is a full pan; NETWORK_TOKEN is not a full pan, such as APPLEPAY.
data.subscriptionPaymentDetail.cardInfo.sourcestringNomaxLength: 32Source of the card. CARDAPPLEPAYGOOGLEPAY_PANGOOGLEPAY_CRYPTOGRAMNETWORK_TOKEN
data.subscriptionPaymentDetail.cardInfo.cardBinNostringNomaxLength: 16Card BIN number.
data.subscriptionPaymentDetail.cardInfo.cardNumberstringNomaxLength: 32Masked card number.
data.subscriptionPaymentDetail.cardInfo.cardHolderNamestringNomaxLength: 128Masked cardholder name.
data.subscriptionPaymentDetail.cardInfo.cardLast4stringNomaxLength: 4The last four digits of the card.
data.subscriptionPaymentDetail.cardInfo.cardExpirationYearstringNomaxLength: 2Two-digit number representing the card’s expiration year.
data.subscriptionPaymentDetail.cardInfo.cardExpirationMonthstringNomaxLength: 2Two-digit number representing the card’s expiration month.

Example

json
{
  "code": "APPLY_SUCCESS",
  "msg": "",
  "keyVersion": "1",
  "appId": "3b242b56a8b64274bcc37dac281120e3",
  "merchantNo": "020213827212251",
  "notifyTime": "2022-01-17T09:33:54.540+00:00",
  "notifyType": "SUBSCRIPTION_PAYMENT",
  "data": {
    "subscriptionRequestId": "testRequestId0001",
    "userId": "testUserId0001",
    "subscriptionPlan": {
      "subscriptionNo": "SUB20250417120949065211234"
    },
    "subscriptionPaymentDetail": {
      "subscriptionIndex": 0,
      "paymentStatus": "SUCCESS",
      "periodStartTime": "2025-01-13T15:59:59+0000",
      "periodEndTime": "2025-02-13T15:59:59+0000",
      "payAmount": {
        "amount": 128.39,
        "currency": "USD"
      },
      "paymentMethodType": "CARD",
      "cardOrg": "VISA",
      "lastPaymentInfo": {
        "tradeToken": "T20250417174800970112345",
        "lastPaymentStatus": "SUCCESS",
        "payTime": "2025-01-12T15:59:59+0000"
      }
    }
  }
}

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"
}

Was this page helpful?

Thank you for your help in improving PayerMax Product Docs!

Released under the MIT License.