下单
创建预下单交易,通过返回的信息进行支付。
目前只支持微信和支付宝。
相关信息
{domain}/Servlet/JSAPIService.do
https:/VMP/Servlet/JSAPIService.do
名称 | 类型 | 描述 | 要求 |
---|---|---|---|
service | String | 接口名称service.alipay.jsapi.PreOrder service.wechat.jsapi.PreOrder | |
user_confirm_key | String(12) | 用户Key,由 eftPay 提供 | |
paytype | String(6) | 支付类型Alipay ,WeChat | |
payment_type | String(20) | 钱包类型ALIPAYCN ,ALIPAYHK WECHATCN ,WECHATHK | |
scene_type | String | 支付场景,PUBLIC 和 H5 只适用于 WeChatAPPLETS ,PUBLIC ,H5 | |
transaction_amount | String(8) | 金额。要求数字,小数位最大长度为2 | |
out_trade_no | String(28) | 商户订单号 | |
subject | String(256) | 交易信息 | |
tid | String(20) | 商户终端号 | |
fee_type | String(5) | 货币类型,HKD ,CNY 默认: HKD | |
notify_url | String(240) | 通知地址,投产环境只支持 80 和 443 端口,其他端口需要申请 | |
active_time | String | 有效时间,单位秒。默认30分钟,即1800 | |
time | String | 时间,格式:yyyyMMddHHmmss | |
sign | String(64) | 签名 |
名称 | 类型 | 描述 | 要求 |
---|---|---|---|
openid | String | 公众号获取的openid,适用于 PUBLIC 场景openid 和 sub_openid 二选一 | |
sub_openid | String | 小程序获取的openid,适用于 APPLETS 场景sub_openid 和 openid 二选一 | |
return_url | String | 支付完成后的返回地址。适用于 H5 场景,详见 微信H5场景注意事项 | |
scene_info | String | 场景信息,适用于 H5 场景 | |
receipt | String | 电子发票入口开放标识(只适用于WeChat)。传入 Y 时,支付成功消息和支付详情页将出现开票入口。需要在微信支付商户平台或微信公众平台开通电子发票功能,传此字段才可生效 | |
goods_tag | String | 订单优惠标记景 | |
detail | Object | 商品详细描述,对于使用单品优惠的商户,该字段必须按照规范上传。对于普通的商户,使用Json格式。 对于使用单品优惠的商户,该字段规范详见 单品优惠参数说明 |
关于 return_url
微信 H5 支付场景由于设置 return_url
后,回跳指定页面的操作可能发生在:
- 微信支付中间页调起微信收银台后超过 5 秒
- 用户点击
“取消支付”
或支付完成后点“完成”
按钮
因此无法保证页面回跳时,支付流程已结束,所以商户设置的 return_url
地址不能自动执行查单操作,应让用户去点击按钮触发查单操作。
回跳页面展示效果可参考下图。
更多问题
请参考 微信H5开发指引常见问题
名称 | 类型 | 描述 | 要求 |
---|---|---|---|
return_status | String(3) | 返回状态码,代表。注:此参数不可作为交易状态是否成功的判断 其他状态码见 附录3 | |
return_char | String(100) | 返回说明,可能会变化,不能作条件判断 | |
time | String | 时间,格式:yyyyMMddHHmmss return_status >= 00 时返回 | |
sign | String(64) | 签名return_status >= 00 时返回 |
名称 | 类型 | 描述 | 要求 |
---|---|---|---|
user_confirm_key | String | 用户Key,由 eftPay 提供 | |
paytype | String(6) | 支付类型 | |
payPackage | String | 用于 jsapi 或 H5 调起支付,不可修改里面内容 | |
out_trade_no | String(28) | 商户订单号 | |
payment_type | String(20) | 钱包类型 | |
transaction_amount | String(8) | 交易金额 | |
scene_type | String | 支付场景 | |
subject | String(256) | 交易信息 | |
tid | String(20) | 终端号,当消费请求有送的时候返回 | |
fee_type | String(5) | 货币 | |
eftpay_trade_no | String(28) | 依付得订单号,配置返回 | |
openid | String | 公众号获取的openidWeChat PUBLIC 场景返回 | |
sub_openid | String | 小程序获取的openidWeChat APPLETS 场景返回 |
{
"service": "service.wechat.jsapi.PreOrder",
"user_confirm_key": "S0003469",
"paytype": "WeChat",
"payment_type": "WECHATCN",
"scene_type": "H5",
"transaction_amount": "0.07",
"out_trade_no": "rrn_1686280006040",
"subject": "test测试",
"time": "20230609110646",
"sign": "2426d6a5eb2371052aaa7b2ecead2f1c23cb6b9114960a5eee89a6a8aba2a475",
"tid": "tid_3378",
"fee_type": "HKD",
"notify_url": "https://www.merchant.com/notify/receive",
"return_url": "https://www.merchant.com/return/page"
}
{
"user_confirm_key": "S0003469",
"return_status": "00",
"return_char": "",
"payPackage": "https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx161448344276518c6138605600a28axxxx&package=3645625860&redirect_url=https%3A%2F%2Fwww.merchant.com%2Freturn%2Fpage",
"subject": "test测试",
"transaction_amount": "0.89",
"sign": "7725226a14e3aefc738246a03ed6b3a357ab17f63b9ae22377e89ecad0a0c5e0",
"fee_type": "HKD",
"scene_type": "H5",
"tid": "tid_3378",
"payment_type": "WECHATCN",
"out_trade_no": "rrn_1686280006042",
"time": "20230609110646",
"paytype": "WeChat"
}