扫码支付
native-api
产品说明
用户扫描商户展示在各种场景的二维码进行支付。
商户根据微信支付的规则,为不同商品生成不同的二维码,展示在各种场景,用于用户扫描购买。步
用户使用微信“扫一扫”扫描二维码后,获取商品支付信息,引导用户完成支付
用户确认支付,输入支付密码
支付完成后会提示用户支付成功(如图6.5),商户后台得到支付成功的通知,然后进行发货处理。
业务流程说明
商户后台系统根据用户选购的商品生成订单。
用户确认支付后调用UseePay微信支付(Server To Server)生成预支付交易;
微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url。
商户后台系统根据返回的code_url生成二维码。
用户打开微信“扫一扫”扫描二维码,完成支付
UseePay 异步通知(notifyUrl)商户系统订单完成
未收到支付通知的情况,商户后台系统调用【查询订单API】
商户确认订单已支付后给用户发货
微信扫码支付wechat_native
POST
USEEPAY_PATH/api
Headers
Name | Type | Description |
---|---|---|
content-type* | String | application/x-www-form-urlencoded |
Request Body
Name | Type | Description |
---|---|---|
transactionType* | String | 交易类型 : pay |
version* | String(5) | 目前固定为 1.0 (5) |
signType* | String | 商户生成签名字符串所使用的签名算法类型,目前支持:RSA/MD5 |
merchantNo* | String(16) | 商户号 |
transactionId* | String(64) | 商户订单号 |
transactionExpirationTime | String(6) | 可选,默认为20分钟 .范围1-20 |
appId* | String (128) | 网站域名 |
amount* | String(12) | 支付金额,单位为对应币种的最小货币单位(详见 ISO 4217) |
currency* | String(3) | 3 位 ISO 大写字母货币代码(详见 ISO 4217) 目前仅支持HKD |
notifyUrl* | String(512) | |
echoParam | String(256) | 回声参数,响应报文会原样返回 |
payerInfo* | String | Json格式的String 付款方信息, 请下方 |
orderInfo | String | json string, 订单信息, 请参考下方 |
userInfo | String | json string, 消费者信息, 请参考消费者信息 |
请求参数详情说明
payerInfo
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
paymentMethod | Y | String | 目前固定为 wechat_native |
authorizationMethod | Y | String | 固定为 cvv |
N | Json String | 账单地址 |
orderInfo
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
subject | Y | String(128) | 订单标题,可以是商品名称 |
goodsInfo | N | array | 商品信息, 请参考 goodsInfo |
shippingAddress | N | object | 收货地址, 请参考 shippingAddress |
返回参数说明
字段 | 是否必须 | 描述 |
---|---|---|
codeUrl | N | wechat支付url, 当请求成功时存在 |
amount | Y | 订单金额 |
currency | Y | 3 位 ISO 大写字母货币代码(详见 ISO 4217) |
errorCode | Y | 错误码(详见 错误码 errorCode) |
errorMsg | Y | 错误码消息描述 |
echoParam | N | 回声参数,响应报文会原样返回 |
sign | Y | 签名 |
transactionId | Y | 商户订单号 |
transactionType | Y | 支付类型 pay |
reference | N | USEEPAY 订单号 |
resultCode | Y | 业务结果(详见 业务结果码)判断交易是否成功的依据 当前交易涉及的有: succeed,pending,failed, closed |
时序图
商户也可以调用UseePay订单查询接口查询支付最终结果
二、Redirect
微信扫码支付收银台模式 wechat_native
POST
USEEPAY_PATH/cashier
Headers
Name | Type | Description |
---|---|---|
content-type* | String | application/x-www-form-urlencoded |
Request Body
Name | Type | Description |
---|---|---|
transactionType* | String | 交易类型 : pay |
version* | String(5) | 目前固定为 1.0 (5) |
signType* | String | 商户生成签名字符串所使用的签名算法类型,目前支持:RSA/MD5 |
merchantNo* | String(16) | 商户号 |
transactionId* | String(64) | 商户订单号 |
transactionExpirationTime | String(6) | 可选,默认为20分钟 .范围1-20 |
appId* | String (128) | 网站域名 |
amount* | String(12) | 支付金额,单位为对应币种的最小货币单位(详见 ISO 4217) |
currency* | String(3) | 3 位 ISO 大写字母货币代码(详见 ISO 4217) 目前仅支持HKD |
notifyUrl* | String(512) | |
echoParam | String(256) | 回声参数,响应报文会原样返回 |
payerInfo* | String | Json格式的String 付款方信息, 请下方 |
orderInfo | String | json string, 订单信息, 请参考下方 |
userInfo | String | json string, 消费者信息, 请参考消费者信息 |
autoRedirect | String | 是否自动跳转 'false', 'true' 默认为'true' |
2.2 请求参数详情说明
2.2.1 payerInfo
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
paymentMethod | Y | String | 目前固定为 wechat_native |
authorizationMethod | Y | String | 固定为 cvv |
N | Json String | 账单地址 |
2.2.2 orderInfo
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
subject | Y | String(128) | 订单标题,可以是商品名称。这个最终会提现在微信支付账单中 |
goodsInfo | N | array | 商品信息, 请参考 goodsInfo |
shippingAddress | N | object | 收货地址, 请参考 shippingAddress |
2.3 返回参数说明
字段 | 是否必须 | 描述 |
---|---|---|
redirectUrl | N | wechat支付url, 当resultCode为recevied时存在 |
amount | Y | 订单金额 |
currency | Y | 3 位 ISO 大写字母货币代码(详见 ISO 4217) |
errorCode | Y | 错误码(详见 错误码 errorCode) |
errorMsg | Y | 错误码消息描述 |
echoParam | N | 回声参数,响应报文会原样返回 |
sign | Y | 签名 |
transactionId | Y | 商户订单号 |
transactionType | Y | 支付类型 pay |
reference | N | USEEPAY 订单号 |
resultCode | Y | 业务结果(详见 业务结果码)判断交易是否成功的依据 当前交易涉及的有: succeed,pending,failed, closed, recevied |
Last updated