主题
支付方式与调起
渠道与支付方式
统一下单传 wayCode,网关按商户应用的支付通道配置选择 ifCode。不要通过下单指定其他商户或渠道账户。
| ifCode | 已实现 wayCode | 场景参数 |
|---|---|---|
| alipay | ALI_QR、ALI_BAR、ALI_JSAPI、ALI_APP、ALI_WAP、ALI_PC | 条码需 authCode,JSAPI 需 buyerUserId |
| alipayzft | ALI_QR、ALI_BAR、ALI_JSAPI、ALI_APP、ALI_WAP、ALI_PC | 同上;使用已配置的直付通身份 |
| wxpaysft | WX_NATIVE、WX_JSAPI、WX_LITE、WX_APP、WX_H5 | JSAPI / 小程序需 openid;小程序需配置对应 AppID |
| globetap | ALI_QR、WX_NATIVE | 动态二维码;支付宝开放 API 可返回 Scheme |
| jeepayplus | ALI_QR、ALI_BAR、ALI_JSAPI、ALI_APP、ALI_WAP、ALI_PC、WX_BAR、WX_JSAPI、WX_LITE、WX_APP、WX_H5、WX_NATIVE | 条码需 authCode,JSAPI 需对应钱包身份 |
| 聚合方式 | QR_CASHIER | 候选 ALI_QR、WX_NATIVE、ALI_WAP、WX_H5、ALI_JSAPI、WX_JSAPI,至少开通一个可用项 |
| 自动识别条码 | AUTO_BAR | 根据 authCode 识别方式,识别后仍要求渠道实际支持该方式 |
当前微信收付通未实现 WX_BAR,不能因为 AUTO_BAR 识别出微信条码就认为可用。字典存在某支付方式也不等于应用已开通该方式。
渠道扩展参数推荐作为 JSON 字符串发送:
json
{ "channelExtra": "{\"buyerUserId\":\"2088_DEMO\"}" }微信 JSAPI 示例为 {"openid":"OPENID_DEMO"}。参数标识必须与该通道绑定的公众号、小程序或支付宝应用一致。H5 的场景信息、客户端 IP 等按实际渠道要求提供,不能把微信和支付宝扩展字段混用。
payDataType
| 值 | 客户端处理 |
|---|---|
| codeUrl | 将 payData 原始内容生成二维码;商户端收银台测试链接也可用此类型 |
| payurl | 跳转至 payData 指定地址;开放 API 的 QR_CASHIER 返回此类型 |
| form | 渲染可信支付响应中的表单并提交 |
| wxapp | 交给微信对应 SDK / Bridge 调起 |
| aliapp | 交给支付宝对应 SDK / Bridge 调起 |
| codeImgUrl | 展示二维码图片地址或受支持的图片数据,以实际返回为准 |
| none | 无需调起参数,继续检查订单状态 |
payData 的具体形态由渠道和支付产品决定,可能为字符串或调起参数;保持原值传给对应支付工具,不能假定所有方式都是 URL。
客户端支付结束后通过服务端查询或验签通知确认资金结果,客户端提示只用于交互展示。
如何选择
- 需要用户选支付方式:优先 QR_CASHIER。
- 自行展示扫码:选择应用开通的 ALI_QR / WX_NATIVE,按实际返回类型展示。
- 钱包内支付:对应 JSAPI,并完成产品要求的身份获取。
- 普通浏览器:H5 / WAP 需开通,不能把 JSAPI 当作普通 URL。
- App / 小程序:SDK 与渠道 AppID 匹配,按具体产品处理调起参数。
表中是代码实现范围,不代表每个部署、商户或产品均已开通。