# 支付 ## 接口说明 接口为商家提供线上支付功能,适用于银联、支付宝及A+、微信支付等付款方式。 ## 请求路径 > `POST` /api/v5/createorder ## 请求参数 凡是上送参数都需参与签名。 ***通用参数:*** | 参数 | 类型 | 必填 | 描述 | | ------------- | ----- | --- | ------------------------------------------------------------ | | paymentBrand | String|是 | 支付品牌,参考[交易场景和支持品牌](#交易场景和支持品牌)| | tradeFrom | String|是 | 交易场景,参考[交易场景和支持品牌](#交易场景和支持品牌)| | orderNum | String|是 | 订单号:商户自行定义,需保证同一商户号下订单号不能重复| | orderAmount | String|是 | 订单金额:如 100 元,表示为 100 或 100.00 | | orderCurrency | String|是 | 订单币种:ISO标准。如:人民币填写“CNY”,美元填写"USD" | | frontURL | String|是 | 支付完成后前端跳转到该URL。GET请求,参数详见[支付结果通知(回调)](/op_api/result_pay) | | backURL | String|是 | 支付结果异步通知到该URL。支付成功后,GoAllPay 会以 POST JSON 方式调用 backURL 通知支付结果(详见[支付结果通知(回调)](/op_api/result_pay))。商户在接收到通知后,需响应字符串“OK”。
如果没有收到商户响应“OK”,GoAllPay将会过一段时间后重新推送,时间间隔为[15, 15, 15, 30, 180, 1800, 3600, 7200, 14400],单位为秒。 | | merID | String|是 | 商户 ID,由 GoAllPay 分配 | | goodsInfo | String|是 | 商品信息。注意不要包含特殊符号,如 "#","&","+" 等 | | detailInfo | String|是 | 商品明细。
格式:[{"goods_name":"iPhone X","quantity":"2"},{"goods_name":"iPhone 8","quantity":"4"}],需Base64编码后上送。注意goods_name不要包含特殊符号,如 "#","&","+" 等 | | transTime | String|是 | 交易时间,格式:"yyyyMMddHHmmss" | | merReserve | String|否 | 预留内容,商户自定义。注意不要包含特殊符号,如 "#","&","+" 等 | | osType | String|是 | 用户操作系统类型。
"IOS","ANDROID","HARMONYOS","WINDOWS","MAC","OTHER" 选其中一个上送 | | osVersion | String|否 | 用户操作系统版本。示例:"10.0.19043" | | userIP | String|是 | 用户IP | | userID | String|是 | 用户在商家的唯一ID | | logisticsStreet| String|是 | 收货地址。若为虚拟物品,填写用户邮箱地址 | | openid | String|否 | 仅适用于微信小程序支付场景 | | signType | String|是 | SHA256 | | signature | String|是 | 签名 | ## 响应参数 | 参数 | 类型 | 必填 | 描述 | | --------- | -------| ---- | ------------------------------------------------------------ | | respCode | String | 是 | 应答码,00表示请求成功 | | respMsg | String | 是 | 应答信息 | | merID | String | 否 | 商户ID | | orderNum | String | 否 | 订单号 | | transID | String | 否 | GoAllPay流水号 | | parameter | Object | 否 | 支付相关参数。RespCode为00且非后台支付模式时返| **响应参数`parameter`说明:** (1) H5/WEB/JSAPI交易场景(tradeFrom=`H5`,`WEB`,`JSAPI`) | 参数 | 类型 | 必填 | 描述 | | -------- | ------ | ---- | ------------------------------- | | payUrl | String | 否 | 支付URL | (2) APP交易场景(tradeFrom=`APP`) | 参数 | 类型 | 必填 | 描述 | | -------- | ------ | ---- | --------------------------------------------------------- | | tn | String | 否 | 交易流水号,作为调起 sdk 支付的参数 | 获取到tn后,根据[APP对接文档](AllPay_Integration_Specification_CH.md#6-app模式对接文档)调用SDK进行支付。 (3) APPLET交易场景(tradeFrom=`APPLET`) | 参数 | 类型 | 必填 | 描述 | | ---------- | ------ | ---- | ------------------------------------------------------ | | sdk_params | Object | 否 | 小程序支付所需参数 | (4) QRCODE交易场景(tradeFrom=`QRCODE`) | 参数 | 类型 | 必填 | 描述 | | -------- | ------ | ---- | ------------------------------- | | code_url | String | 否 | 二维码字符串 | (5) QUICK交易场景(tradeFrom=`QUICK`) | 参数 | 类型 | 必填 | 描述 | | -------- | ------ | ---- | ------------------------------- | | payUrl | String | 否 | 收银台URL | ## 交易场景和支持品牌 tradeFrom|支持paymentBrand列表|交易示例 ---|---|--- H5|unionpay,alipay_cn,alipay_hk,...|[报文示例](/examples/examples_op?id=h5-payment) WEB|alipay_cn,alipay_hk,...|[报文示例](/examples/examples_op?id=web-payment) APP|unionpay,wechat_pay,alipay_cn,alipay_hk,...|[报文示例](/examples/examples_op?id=app-payment) JSAPI|wechat_pay,alipay_cn|[报文示例](/examples/examples_op?id=jsapi-payment) APPLET|wechat_pay,alipay_cn|[报文示例](/examples/examples_op?id=applet-payment) QRCODE|unionpay,wechat_pay,alipay_cn,....|[报文示例](/examples/examples_op?id=qrcode-payment) QUICK|wechat_pay|[报文示例](/examples/examples_op?id=quick-payment)