Merchant ID |
mchid |
string[1,32] |
Yes |
Merchant ID allocated by WeChat Pay
Note: Only forCommon mode
Example: 10000091 |
App ID |
appid |
string[1,32] |
Yes |
Appid bound to the merchant ID
Note: Only forCommon mode
Example: wxcbda96de0b165486 |
Merchant ID of the service provider |
sp_mchid |
string[1,32] |
Yes |
The institution's merchant ID allocated by WeChat Pay
Note: Only forInstitutional mode
Example: 10000098 |
Sub-merchant ID |
sub_mchid |
string[1,32] |
Yes |
Sub-merchant ID allocated by WeChat Pay
Note: Only forInstitutional mode
Example: 10000097 |
App ID of the service provider |
sp_appid |
string[1,32] |
Yes |
Appid bound to the service provider’s Official Account
Note: Only forInstitutional mode
Example: wxcbda96de0b165486 |
App ID of the sub-merchant |
sub_appid |
string[1,32] |
No |
Mini program appid of the sub-merchant who initiates the signing
Note: Only forInstitutional mode
Example: wxcbda96de0b165484 |
Merchant order No. |
out_trade_no |
string[1,32] |
Yes |
Returned merchant order No.
Example: 1217752501201407033233368018 |
WeChat Pay order No. |
transaction_id |
string[1,32] |
Yes |
WeChat Pay order No.
Example: 1217752501201407033233368018 |
Merchant data |
attach |
string[1,127] |
No |
Additional data, returned in the query API and payment notification without any changes; this field is used for the custom order data carried by the merchant
Example: Custom data |
Transaction type |
trade_type |
string[1,16] |
Yes |
Deduction payment
Example: AUTH |
Paying bank |
bank_type |
string[1,32] |
No |
Returned after successful payment. Bank type is a bank ID of string type. For the list of specific values, please refer to bank type
CMC and other bank card types in the Chinese mainland
WPHK: payment by Hong Kong Wallet
Example: WPHK |
Payment completion time |
success_time |
string[1,64] |
No |
Payment completion time, in the rfc3339 format, e.g., 2018-06-08T10:34:56+08:00 indicates 10:34:56 a.m. on June 8, 2018 of Beijing time
Example: 2018-06-08T10:34:56+08:00 |
Transaction state |
trade_state |
string[1,32] |
Yes |
SUCCESS — Payment success
REFUND — Transfer to refund
NOTPAY — Not paid
CLOSED — Closed
PAYERROR — Payment failed
USERPAYING — payment in progress
Example: SUCCESS |
Transaction state description |
trade_state_desc |
string[1,256] |
Yes |
Description of the current order status and guidance for the next operation
Example: Payment failed. Please order again to make payment |
Merchant category code (MCC] |
merchant_category_code |
string[1,16] |
Yes |
Merchant category code
Example: 1011 |
Payer |
payer |
object |
No |
BodyReturned after successful payment. Payer information, which is detailed below |
Name |
Variable Name |
Type |
Required |
Description |
User ID (directly connected merchant] |
openid |
string[1,128] |
Yes |
Openid of the user under the merchant’s appid
Note: Only forCommon mode
Example: M3pxb1Q9zNjWeS6o |
User ID (service provider] |
sp_openid |
string[1,128] |
Yes |
User’s unique ID under the corresponding merchant sp_appid, returned only when sp_appid is passed in
Note: Only forInstitutional mode
Example: M2pxb1Q9WNjWeS6o |
User ID (sub-merchant] |
sub_openid |
string[1,128] |
No |
User’s unique ID under sub_appid of the acquiring bank, returned only when sub_appid is passed in
Note: Only forInstitutional mode
Example: M2pxb1Q9zNjWeS61 |
|
Order amount |
amount |
object |
Yes |
BodyReturned after successful payment. Order amount information, which is detailed below |
Name |
Variable Name |
Type |
Required |
Description |
Order amount |
total |
int |
Yes |
Total order amount, in the minimum unit of currency, which must be an integer. For details, please refer to transaction amount
Example: 888 |
User payment amount |
payer_total |
int |
Yes |
User's actual payment amount, in the minimum unit of currency, which must be an integer. For details, please refer to the transaction amount
Example: 888 |
Currency of order price |
currency |
string[1,16] |
Yes |
Three letter code complying with the ISO 4217 standard
Example: CNY |
User's payment currency |
payer_currency |
string[1,16] |
Yes |
Three letter code complying with the ISO 4217 standard
Example: HKD |
Exchange rate information |
exchange_rate |
object |
No |
BodyExchange rate information object, which is detailed below |
Name |
Variable Name |
Type |
Required |
Description |
Exchange rate type |
type |
string[1,32] |
No |
SETTLEMENT_RATE, namely, the exchange rate of the price currency and settlement currency
Example: SETTLEMENT_RATE |
Exchange rate value |
rate |
int |
No |
The rate value is the eighth power of the exchange ratio multiplied by 10.
If the price currency is the same as the settlement currency and the exchange ratio is 1, then rate is 100000000;
If the price currency is different from the settlement currency, e.g., the exchange ratio of US dollar to RMB is 6.5, then rate is 650000000
Example: 80000000 |
|
|
Promotion function |
promotion_detail |
array |
No |
BodyReturned after successful payment. Promotion function information, which is detailed below |
Name |
Variable Name |
Type |
Required |
Description |
Promotion name |
name |
string[1,64] |
No |
Promotion name
Example: Single item discount-6 |
Promotion scope |
scope |
string[1,32] |
No |
GLOBAL - Global coupon
SINGLE - Single item discount
Example: SINGLE |
Promotion type |
type |
string[1,32] |
No |
COUPON - Coupon, a recharge coupon that generates capital flow (the coupon currency of overseas merchants is the same as the payment currency)
DISCOUNT - Discount, a recharge discount that does not generate capital flow (the discount currency of overseas merchants is the same as the price currency)
Example: DISCOUNT |
Discount amount |
amount |
int |
Yes |
Amount of discount enjoyed by the user
Example: 5 |
Discount currency |
currency |
string[1,16] |
Yes |
Three letter code complying with the ISO 4217 standard
Example: HKD |
Activity ID |
activity_id |
string[1,32] |
No |
Batch ID configured on the WeChat merchant background
Example: 931386 |
Amount contributed by WeChat |
wxpay_contribute_amount |
int |
No |
Specifically referring to the discount created by the WeChat Pay merchant platform; the mount contributed is equal to the total amount of the discount
Example: 0 |
Amount contributed by the merchant |
merchant_contribute_amount |
int |
No |
Specifically referring to the discount created by the merchant; the mount contributed is equal to the total amount of the discount
Example: 0 |
Other contributed amount |
other_contribute_amount |
int |
No |
Amount contributed by other contributive parties
Example: 5 |
List of goods |
goods_detail |
array |
否 |
BodyGoods information, in the JSON format |
Name |
Variable Name |
Type |
Required |
Description |
Goods ID |
goods_id |
string[1,32] |
Yes |
Consisting of one or more of half-angle upper and lower case letters, digits, strikethrough, and underscore
Example: Goods ID |
Goods remark |
goods_remark |
string[1,128] |
No |
A remark field, returned according to the original configuration; the field is set when coupon/discount is configured on the WeChat background
Example: 1001 |
Goods discount amount |
discount_amount |
int |
Yes |
Total discount amount of a single item
Example: 100 |
Goods quantity |
quantity |
int |
Yes |
Quantity of goods bought by the user
Example: 1 |
Goods price |
price |
int |
Yes |
Unit: cent. If the merchant provides a discount, the unit price after the discount needs to be transmitted (for example, if the user uses the paper discount 100-50 issued by the mall for a RMB100 order, the unit price of the goods in the activity should be the original unit price minus 50)
Example: 10000 |
|
|