付款码支付API
更新时间:2024.11.18应用场景
请求参数变更:单品优惠仅在原付款码支付API基础上新增了一个请求参数version,其他协议规则保持不变。
返回参数变更:新增参数promotion_detail,以json方式展示,所有优惠信息都将通过该字段做展示,同时为了保持参数风格一致,原字段“总代金券金额(coupon_fee)”、“应结订单金额(settlement_total_fee)”也进行了重命名 ,详细内容请见“注意事项”。
接口地址
https://api.mch.weixin.qq.com/pay/micropay
https://api2.mch.weixin.qq.com/pay/micropay(备用域名)见跨城冗灾方案
是否需要证书
不需要。
输入参数
名称 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
接口版本号 | version | 是 | String(32) | 1.0 | 新增字段,接口版本号,区分原接口,固定填写1.0 |
订单优惠标记 | goods_tag | 否 | String(32) |
| 订单优惠标记,用于区分订单是否可以享受优惠,字段内容在微信后台配置券时进行设置,说明详见代金券或立减优惠 |
商品详情 | detail | 是 | String(6000) | 示例见下文 | 新增字段,单品优惠活动该字段必传,且必须按照规范上传,JSON格式,详见下文【单品优惠活动字段说明】 |
其他字段列表见 |
单品优惠活动detail字段列表说明:
名称 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
订单原价 | cost_price | 否 | int | 608800 | 1.商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。 2.当订单原价与支付金额不相等,则不享受优惠。 3.该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。 |
商品小票ID | receipt_id | 否 | String(32) | wx123 | 商家小票ID |
单品列表 | goods_detail | 是 | String | 示例见下文 | 单品信息,使用Json数组格式提交 |
单品优惠活动goods_detail字段说明:
名称 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商品编码 | goods_id | 是 | String(32) | 商品编码 | 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成 |
微信支付商品编码 | wxpay_goods_id | 否 | String(32) | 1001 | 微信支付定义的统一商品编号(没有可不传) |
商品名称 | goods_name | 否 | String(256) | iPhone6s 16G | 商品的实际名称 |
商品数量 | quantity | 是 | int | 1 | 用户购买的数量 |
商品单价 | price | 是 | int | 528800 | 单位为:分。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔100元的订单使用了商场发的优惠券100-50,则活动商品的单价应为原单价-50) |
detail字段值举例如下:
提交支付数据举例:
注:参数值用XML转义即可,CDATA标签用于说明数据不被XML解析器解析。
返回结果
当return_code 和result_code都为SUCCESS的时:
名称 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
其他字段列表见 | |||||
营销详情 | promotion_detail | 是 | String(6000) | 示例见下文 | 新增返回,营销详情列表,使返回值为Json格式 |
单品优惠活动promotion_detail字段列表说明:
名称 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
券ID | promotion_id | 是 | String(32) | 109519 | 券或者立减优惠id |
优惠名称 | name | 否 | String(64) | 单品惠-6 | 优惠名称 |
优惠范围 | scope | 否 | String(32) | SINGLE | GLOBAL- 全场代金券 SINGLE- 单品优惠 |
优惠类型 | type | 否 | String(32) | DISCOUNT | COUPON- 代金券,需要走结算资金的充值型代金券,(境外商户券币种与支付币种一致) DISCOUNT- 优惠券,不走结算资金的免充值型优惠券,(境外商户券币种与标价币种一致 |
优惠券面额 | amount | 是 | int | 5 | 用户享受优惠的金额 |
活动ID | activity_id | 是 | String(32) | 931386 | 在微信商户后台配置的批次ID |
微信出资 | wxpay_contribute | 否 | String(32) | 0 | 特指由微信支付商户平台创建的优惠,出资金额等于本项优惠总金额,单位为分 |
商户出资 | merchant_contribute | 否 | String(32) | 0 | 特指商户自己创建的优惠,出资金额等于本项优惠总金额,单位为分 |
其他出资 | other_contribute | 否 | String(32) | 5 | 其他出资方出资金额,单位为分 |
单品列表 | goods_detail | 否 | String | 见下文 | 单品信息,使用Json格式 |
单品优惠活动goods_detail字段说明:
名称 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商品编码 | goods_id | 是 | String(32) | 商品编码 | 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成 |
商品备注 | goods_remark | 否 | String(128) | 1001 | goods_remark为备注字段,按照配置原样返回,字段内容在微信后台配置券时进行设置。 |
商品优惠金额 | discount_amount | 是 | int | 100 | 单品的总优惠金额,单位为:分 |
商品数量 | quantity | 是 | int | 1 | 用户购买的数量 |
商品价格 | price | 是 | int | 528800 | 单位为:分。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔100元的订单使用了商场发的纸质优惠券100-50,则活动商品的单价应为原单价-50) |
注意:goods_remark为备注字段,按照配置原样返回,goods_tag是订单优惠标记,用于区分订单是否可以享受优惠,两个字段内容都在微信后台配置券时进行设置。
promotion_detail字段值举例如下: