HandleWebhook
POST/your/webhook/path
HandleWebhook handles subscription webhook notifications
Request
- application/json
Body
required
Array [
Array [
]
Array [
]
]
Array [
]
Array [
]
Array [
Array [
]
Array [
]
]
Array [
]
Array [
]
The ID of the webhook.
The date and time when the webhook event notification was created, in Internet date and time format. see: https://tools.ietf.org/html/rfc3339#section-5.6
The time
resource
object
Notification event of subscription
Value must match regular expression ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$
The date and time when the transaction occurred, in Internet date and time format. see: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6
Value must match regular expression ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$
The date and time when the transaction was last updated, in Internet date and time format see: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6
non-empty
The id of merchant
non-empty
The id of sub merchant
non-empty
The id of subscription
Outside reference id of subscription
[UNKNOWN, PENDING, APPROVED, ACTIVE, SUSPENDED, CANCELLED, VOIDED, COMPLETED]
The status of subscription
[UNKNOWN, SUBSCRIPTION, UNSUBSCRIPTION, RENEWAL, SUSPENDED, RESUMED]
The notification event type of subscription
subscription_event
object
Subscription event
[UNKNOWN, REGULAR, PROMOTIONAL]
The type of subscription plan
payment_detail
object
Payment detail
[UNKNOWN, SUCCESS, INSUFFICIENT_FUNDS, CARD_EXPIRED, CARD_DECLINED, INVALID_CARD, PAYMENT_LIMIT_EXCEEDED, MERCHANT_LIMIT_EXCEEDED, RECURRING_PAYMENT_FAILED, FRAUD_SUSPECTED, SYSTEM_ERROR, NETWORK_ERROR, INVALID_PARAMETER, INVALID_CURRENCY, INVALID_AMOUNT, ...]
The payment result code of the subscription order.
The id of the order.
[UNKNOWN, CREATED, SAVED, APPROVED, VOIDED, COMPLETED, PAYER_ACTION_REQUIRED, REFUNDING, REFUNDED, CAPTURE_REQUIRED, CAPTURE_FAILED, REFUND_REVERSED, CHARGEBACK, CHARGEBACK_REVERSED, SECOND_CHARGEBACK, ...]
The status of the order.
purchase_units
object[]
An array of purchase units. Each purchase unit establishes a contract between a payer and the payee. Each purchase unit represents either a full or partial order that the payer intends to purchase from the payee.
The API caller-provided external ID for the order unit. Required for multiple order units when you must update the order through PATCH.
amount
object
The three-character ISO-4217 currency code that identifies the currency.see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value as the summary of all kinds of total_amount in breakdown, which might be:An integer for currencies like JPY that are not typically fractional.A decimal fraction for currencies like TND that are subdivided into thousandths.For the required number of decimal places for a currency code, see Currency Codes.
breakdown
object
tax_total
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
taxes
object[]
The tax with breakdown
[UNKNOWN, ECOMMERCE_CONSUMPTION_TAX]
tax type
non-empty
tax name
Tax as a percentage of total amount example: value 8 means the tax as a percentage of total amount is 8%
tax_amount
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
tax reference
item_total
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
[UNKNOWN, TOTAL_AMOUNT, ITEM_AMOUNT]
Tax check mode, check tax by total amount or item amount. If merchant use payment_method=CHECKOUT_PAGE, this field is optional, and no need present tax_check_mode, tax_total of breakdown, taxes of breakdown. Otherwise, this field is required, and merchant should present tax_check_mode, tax_total of breakdown, taxes of breakdown.
[UNKNOWN, TAX_INCLUSIVE, TAX_EXCLUSIVE, NOT_TAX, TAX_DELAY]
tax mode This field is provided by system, merchant should not set it.
discount_display
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
remaining_discount_display
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
before_discount_display
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
payee
object
non-empty and <= 64 characters
The id of merchant or sub_merchant
The email address of merchant.
<= 1000 characters
The purchase description.
items
object[]
The purchase items.
The item id.
The item name.
The item description.
The purchase reference
Capture delay hours
external_amount
object
discount_amount
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
non-empty
The discount reference
fx_amount
object
The FX amount
after_fx_amount
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
extend
object
The extend additional information.
Actual payment channel
amount
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
The id of the merchant payer.
card_info
object
The card bin of the card no.
The hash of the card no.
The mask of the card, it shows the first six and last four digits of the card.
The expire of month.
The expire of year.
The card verification value.
funding source name
The name of card holder.
card issuing country
card brand
card cooperation brand
card score, a larger value indicates a higher priority
visa、mc、amex、jcb、Discover : scheme; mada_card:mada_card ..
card number md5
The card verification value.
the selected brand for co-brand.
card contract id, used for card contract payment, if store_recurring_payment_method is true, this field will returned by payments rsp.
card_addition_data
object
cvc result
avs result
is liability shift
3ds offered
3ds authenticated
refusal reason of the card scheme
mastercard advice code
internal_merchant_addition_data
object
内部商户特有字段
The channel name.
[MODE_UNKNOWN, NEED_CONTRACT, NO_CONTRACT, MIX_CONTRACT]
[MODE_UNKNOWN, NEED_CONTRACT, NO_CONTRACT]
payer_address
object
Address of payer or payee
country (eg. CN) -- use region_code instead
<= 100 characters
ISO 3166-2 define
city
county
region code
street name
house info
<= 100 characters
address postal code
internal_transaction_trace_infos
object[]
channel_addition_datas
object[]
外部渠道附加信息。
The channel name.
[MODE_UNKNOWN, NEED_CONTRACT, NO_CONTRACT]
metadata
object
The addition data
merchant_metadata
object
The merchant metadata in create order request
unsubscription_event
object
Unsubscription event
The reason of unsubscription, Optional
Value must match regular expression ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$
The date and time when the subscription was unsubscription, in Internet date and time format see: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6
renewal_event
object
Renewal event
[UNKNOWN, REGULAR, PROMOTIONAL]
The type of subscription plan
payment_detail
object
Payment detail
[UNKNOWN, SUCCESS, INSUFFICIENT_FUNDS, CARD_EXPIRED, CARD_DECLINED, INVALID_CARD, PAYMENT_LIMIT_EXCEEDED, MERCHANT_LIMIT_EXCEEDED, RECURRING_PAYMENT_FAILED, FRAUD_SUSPECTED, SYSTEM_ERROR, NETWORK_ERROR, INVALID_PARAMETER, INVALID_CURRENCY, INVALID_AMOUNT, ...]
The payment result code of the subscription order.
The id of the order.
[UNKNOWN, CREATED, SAVED, APPROVED, VOIDED, COMPLETED, PAYER_ACTION_REQUIRED, REFUNDING, REFUNDED, CAPTURE_REQUIRED, CAPTURE_FAILED, REFUND_REVERSED, CHARGEBACK, CHARGEBACK_REVERSED, SECOND_CHARGEBACK, ...]
The status of the order.
purchase_units
object[]
An array of purchase units. Each purchase unit establishes a contract between a payer and the payee. Each purchase unit represents either a full or partial order that the payer intends to purchase from the payee.
The API caller-provided external ID for the order unit. Required for multiple order units when you must update the order through PATCH.
amount
object
The three-character ISO-4217 currency code that identifies the currency.see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value as the summary of all kinds of total_amount in breakdown, which might be:An integer for currencies like JPY that are not typically fractional.A decimal fraction for currencies like TND that are subdivided into thousandths.For the required number of decimal places for a currency code, see Currency Codes.
breakdown
object
tax_total
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
taxes
object[]
The tax with breakdown
[UNKNOWN, ECOMMERCE_CONSUMPTION_TAX]
tax type
non-empty
tax name
Tax as a percentage of total amount example: value 8 means the tax as a percentage of total amount is 8%
tax_amount
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
tax reference
item_total
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
[UNKNOWN, TOTAL_AMOUNT, ITEM_AMOUNT]
Tax check mode, check tax by total amount or item amount. If merchant use payment_method=CHECKOUT_PAGE, this field is optional, and no need present tax_check_mode, tax_total of breakdown, taxes of breakdown. Otherwise, this field is required, and merchant should present tax_check_mode, tax_total of breakdown, taxes of breakdown.
[UNKNOWN, TAX_INCLUSIVE, TAX_EXCLUSIVE, NOT_TAX, TAX_DELAY]
tax mode This field is provided by system, merchant should not set it.
discount_display
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
remaining_discount_display
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
before_discount_display
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
payee
object
non-empty and <= 64 characters
The id of merchant or sub_merchant
The email address of merchant.
<= 1000 characters
The purchase description.
items
object[]
The purchase items.
The item id.
The item name.
The item description.
The purchase reference
Capture delay hours
external_amount
object
discount_amount
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
non-empty
The discount reference
fx_amount
object
The FX amount
after_fx_amount
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
extend
object
The extend additional information.
Actual payment channel
amount
object
The three-character ISO-4217 currency code that identifies the currency. see: https://en.wikipedia.org/wiki/ISO_4217#Active_codes
Value must match regular expression ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be: An integer for currencies like JPY that are not typically fractional. A decimal fraction for currencies like TND that are subdivided into thousandths. For the required number of decimal places for a currency code, see Currency Codes.
The id of the merchant payer.
card_info
object
The card bin of the card no.
The hash of the card no.
The mask of the card, it shows the first six and last four digits of the card.
The expire of month.
The expire of year.
The card verification value.
funding source name
The name of card holder.
card issuing country
card brand
card cooperation brand
card score, a larger value indicates a higher priority
visa、mc、amex、jcb、Discover : scheme; mada_card:mada_card ..
card number md5
The card verification value.
the selected brand for co-brand.
card contract id, used for card contract payment, if store_recurring_payment_method is true, this field will returned by payments rsp.
card_addition_data
object
cvc result
avs result
is liability shift
3ds offered
3ds authenticated
refusal reason of the card scheme
mastercard advice code
internal_merchant_addition_data
object
内部商户特有字段
The channel name.
[MODE_UNKNOWN, NEED_CONTRACT, NO_CONTRACT, MIX_CONTRACT]
[MODE_UNKNOWN, NEED_CONTRACT, NO_CONTRACT]
payer_address
object
Address of payer or payee
country (eg. CN) -- use region_code instead
<= 100 characters
ISO 3166-2 define
city
county
region code
street name
house info
<= 100 characters
address postal code
internal_transaction_trace_infos
object[]
channel_addition_datas
object[]
外部渠道附加信息。
The channel name.
[MODE_UNKNOWN, NEED_CONTRACT, NO_CONTRACT]
metadata
object
The addition data
merchant_metadata
object
The merchant metadata in create order request
suspended_event
object
Suspended event
The reason of suspended, Optional
Value must match regular expression ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$
The date and time when the subscription was suspended, in Internet date and time format see: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6
resumed_event
object
Resumed event
Value must match regular expression ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])[T,t]([0-1][0-9]|2[0-3]):[0-5][0-9]:([0-5][0-9]|60)([.][0-9]+)?([Zz]|[+-][0-9]{2}:[0-9]{2})$
The date and time when the subscription was resumed, in Internet date and time format see: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6
The next execution time of subscription, Optional
subscriber
object
Subscriber
non-empty and <= 64 characters
The id of the subscriber.
The midas login id (muid) of the subscriber. Apply only to midasbuy.
The name of the subscriber.
The email of the subscriber.
The ip of the subscriber.
The phone number of the subscriber.
address
object
Address of payer or payee
country (eg. CN) -- use region_code instead
<= 100 characters
ISO 3166-2 define
city
county
region code
street name
house info
<= 100 characters
address postal code
product
object
Product
non-empty
The id of the product.
The name of the product.
The description of the product.
The start date and time of the current subscription period. in Internet date and time format see: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6
The end date and time of the current subscription period. in Internet date and time format see: https://datatracker.ietf.org/doc/html/rfc3339#section-5.6
non-empty
Indicates which phase of the subscription cycle this event corresponds to. Required. For example, for a monthly subscription starting in May, the June charge would have execution_phase="2".
A summary description for the event notification.
The name of the resource related to the webhook notification event.
The resource version in the webhook notification.
The event version in the webhook notification.
[UNKNOWN, SUBSCRIPTION_CREATED, SUBSCRIPTION_RENEW, SUBSCRIPTION_CANCELLED, SUBSCRIPTION_SUSPENDED, SUBSCRIPTION_RESUMED]
The event that triggered the webhook event notification.
Responses
- 200
- default
OK
- application/json
- Response
- Example
Response
Merchant processed the notification.
The merchant's message.
{
"processed": true,
"message": "string"
}
Error response structure
- application/json
- Response
- Example
Response
Array [
]
Array [
]
details
object[]
The type of the serialized message.
causes
object[]
{
"name": "string",
"message": "string",
"details": [
{
"@type": "string"
}
],
"debug_id": "string",
"causes": [
{
"cause": "string",
"solution": "string"
}
]
}