参数 | 是否必填 | 描述 | 说明 |
Authorization | 是 | 签名认证信息 | |
Content-Type | 是 | application/json | - |
属性 | 类型 | 必填 | 说明 |
out_trade_no | string | 是 | 订单号 |
属性 | 类型 | 必填 | 说明 |
appid | string | 是 | 小程序 id |
mch_id | string | 是 | 支付商户号,商户下单时传入的商户号 |
out_trade_no | string | 是 | 商户订单号,商户下单时传入的系统内部订单号 |
transaction_id | string | 否 | 支付订单唯一标识,订单支付成功返回 |
trade_type | string | 否 | 交易类型 JSAPI-小程序支付 |
trade_state | string | 是 | 交易状态 WAIT_PAY-待支付 SUCCESS-支付成功 CLOSED-订单已关闭 AUTO_CLOSED-订单到期自动关闭 REFUND-已退款 PAY_ERROR-支付失败 |
bank_type | string | 否 | 银行简码,非银行卡支付类型统一为OTHERS |
attach | string | 否 | 商户数据包,商户下单时传入的自定义数据包,用户不可见,长度不超过256字符,若下单传入该参数,则订单支付成功后此接口和支付成功回调通知以及交易账单中会原样返回;若下单未传该参数,则不会返回 |
success_time | string | 否 | 支付完成时间,遵循 rfc3339 标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间) |
payer | payer | 否 | 订单的支付者信息,订单支付成功后返回 |
amount | object | 否 | 订单金额信息 |
amount.payer_total | string | 否 | 订单总金额,单位为分 |
amount.total | interger | 否 | 用户实际支付金额,整型,单位为分,用户支付金额=总金额-代金券金额。 |
amount.currency | string | 否 | 货币类型 符合 ISO 4217 标准的三位字母代码 |
amount.payer_currency | string | 否 | 用户支付币种 符合 ISO 4217 标准的三位字母代码 |
{"appid": "mpco56h12e6e52hj","mch_id": "mi_7b0a5e40f9","out_trade_no": "2b695106b888d14328d9","transaction_id": "pi1738915449351wbrgic93qlahw34134wjr","trade_type": "JSAP","trade_state": "SUCCESS","bank_type": "OTHERS","attach": "attch info","success_time": "2025-02-28T10:34:56+08:00","payer": {"openid": "o910d4edeee717377adguZS89513"},"amount": {"payer_total": "88800","total": 88800,"currency": "USD","payer_currency": "USD"}}
参数 | 是否必填 | 描述 | 说明 |
Authorization | 是 | 签名认证信息 | |
Content-Type | 是 | application/json | - |
属性 | 类型 | 必填 | 说明 |
out_trade_no | string | 是 | 商户下单时传入的商户系统内部订单号。 |
mch_id | string | 是 | 商户下单时传入的商户号。 |
204 No Content
参数 | 是否必填 | 描述 | 说明 |
Authorization | 是 | 签名认证信息 | |
Content-Type | 是 | application/json | - |
属性 | 类型 | 必填 | 说明 |
appid | string | 是 | 小程序 id |
description | string | 是 | 商品信息描述,长度不超过127个字符 |
out_trade_no | string | 是 | 商户系统内部订单号,要求6-32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一 |
time_expire | string | 是 | 1、定义:支付结束时间是指用户能够完成该笔订单支付的最后时限,并非订单关闭的时间。超过此时间后,用户将无法对该笔订单进行支付。如需关闭订单,请调用关闭订单API接口。 2、格式要求:支付结束时间需遵循 rfc3339 标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间) 3.参数仅在用户首次下单时可设置,且不允许后续修改,尝试修改将导致错误。 若用户实际进行支付的时间超过了订单设置的支付结束时间,商户需使用新的商户订单号下单,生成新的订单供用户进行支付。若未超过支付结束时间,则可使用原参数重新请求下单接口,以获取当前订单最新的prepay_id 进行支付。 支付结束时间不能早于下单时间后1分钟,若设置的支付结束时间早于该时间,系统将自动调整为下单时间后1分钟作为支付结束时间。 |
attach | string | 否 | 商户在创建订单时可传入自定义数据包,该数据对用户不可见,用于存储订单相关的商户自定义信息,其总长度限制在128字符以内。支付成功后查询订单API和支付成功回调通知均会将此字段返回给商户,并且该字段还会体现在交易账单中 |
notify_url | string | 是 | 商户接收支付成功回调通知的地址,需按照 notify_url 填写注意事项规范填写。 |
amount | object | 是 | 订单金额信息 |
amount.total | interger | 否 | 用户实际支付金额,整型,单位为分,用户支付金额=总金额-代金券金额。 |
amount.currency | string | 否 | 货币类型 符合 ISO 4217 标准的三位字母代码 |
payer | object | 是 | 支付者信息 |
payer.openid | string | 否 | |
detail | object | 是 | 优惠功能 |
detail.cost_price | integer | 否 | 订单原价 |
detail.goods_detail | array[object] | 否 | 单品列表信息 |
detail.goods_detail.merchant_goods_id | string | 否 | 支付定义的统一商品编号(没有可不传) |
detail.goods_detail.goods_name | string | 否 | 商品的实际名称 |
detail.goods_detail.quantity | integer | 是 | 用户购买的数量 |
detail.goods_detail.unit_price | integer | 是 | 整型,单位为:分。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔100元的订单使用了商场发的纸质优惠券100-50,则活动商品的单价应为原单价-50) |
属性 | 类型 | 必填 | 说明 |
prepay_id | string | 是 | 预支付交易会话标识,JSAPI 或小程序调起支付时需要使用的参数,有效期为2小时,失效后需要重新请求该接口以获取新的 prepay_id |
{"prepay_id":"pi173898442419368bhz26jn4rikpwzr1akn"}
参数 | 描述 | 说明 |
Wechatpay-Serial | 验签的SuperAPP平台证书序列号 | |
Wechatpay-Signature | 验证签名值 | - |
Wechatpay-Timestamp | 验签的时间戳 | - |
Wechatpay-Nonce | 验签的随机字符串 | - |
属性 | 类型 | 必填 | 说明 |
id | string | 是 | 回调通知的唯一编号。 |
create_time | string | 是 | 本次回调通知创建的时间。 格式:遵循 rfc3339 标准格式:yyyy-MM-DDTHH:mm:ss+TIMEZONE。yyyy-MM-DD 表示年月日;T 字符用于分隔日期和时间部分;HH:mm:ss 表示具体的时分秒;TIMEZONE 表示时区(例如,+08:00 对应东八区时间,即北京时间)。 示例:2015-05-20T13:29:35+08:00 表示北京时间2015年5月20日13点29分35秒。 |
resource_type | string | 是 | 通知的资源数据类型,固定为 encrypt-resource。 |
event_type | string | 是 | 支付回调通知的类型。 支付成功通知的类型为 TRANSACTION.SUCCESS。 |
pay_model | string | 否 | 支付银行卡类型,非银行卡为 OTHERS |
summary | string | 是 | 应用支付对回调内容的摘要备注,长度限制64 |
resource | object | 是 | 通知资源数据 |
resource.original_type | string | 是 | 【原始回调类型】加密前的对象类型,为 transaction。 |
resource.algorithm | string | 是 | 【加密算法类型】回调数据密文的加密算法类型,目前为AEAD_AES_256_GCM,开发者需要使用同样类型的数据进行解密。 |
resource.ciphertext | string | 是 | |
resource.associated_data | string | 否 | 【附加数据】参与解密的附加数据,该字段可能为空。 |
resource.nonce | string | 是 | 【随机串】参与解密的随机串。 |
属性 | 类型 | 必填 | 说明 |
ok | string | 是 | - |
{"ok"}
属性 | 类型 | 必填 | 说明 |
original_type | string | 是 | 【原始回调类型】加密前的对象类型,为 transaction。 |
algorithm | string | 是 | 【加密算法类型】回调数据密文的加密算法类型,目前为AEAD_AES_256_GCM,开发者需要使用同样类型的数据进行解密。 |
ciphertext | string | 是 | |
associated_data | string | 否 | 【附加数据】参与解密的附加数据,该字段可能为空。 |
nonce | string | 是 | 【随机串】参与解密的随机串。 |
属性 | 类型 | 必填 | 说明 |
cost_price | integer | 否 | 订单原价 |
goods_detail | array[goods_detail] | 否 | 单品列表信息 |
属性 | 类型 | 必填 | 说明 |
merchant_goods_id | string | 否 | 支付定义的统一商品编号(没有可不传) |
goods_name | string | 否 | 商品的实际名称 |
quantity | integer | 是 | 用户购买的数量 |
unit_price | integer | 是 | 整型,单位为:分。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔100元的订单使用了商场发的纸质优惠券100-50,则活动商品的单价应为原单价-50) |
属性 | 类型 | 必填 | 说明 |
openid | string | 否 | 用户在商户下单的appid下唯一标识 |
属性 | 类型 | 必填 | 说明 |
payer_total | string | 否 | 订单总金额,单位为分 |
total | interger | 否 | 用户实际支付金额,整型,单位为分,用户支付金额=总金额-代金券金额。 |
currency | string | 否 | 货币类型 符合 ISO 4217 标准的三位字母代码 |
payer_currency | string | 否 | 用户支付币种 符合 ISO 4217 标准的三位字母代码 |
属性 | 类型 | 必填 | 说明 |
total | interger | 否 | 用户实际支付金额,整型,单位为分,用户支付金额=总金额-代金券金额。 |
currency | string | 否 | 货币类型 符合 ISO 4217 标准的三位字母代码 |
错误描述 | 错误示例 |
URL 中只有域名,缺少具体的路径 | http://www.domain.com |
URL 不是以 https:// 或 http:// 开头,缺少域名或 IP | ./PayNotify.aspx |
URL 中填写了本地或者内网IP | http://127.0.0.1/pay/notify.php |
填写了不是 UR L 格式的字符串 | xxxxxxx,1234567,test |
文档反馈