扫码支付

native-api

产品说明

用户扫描商户展示在各种场景的二维码进行支付。

  1. 商户根据微信支付的规则,为不同商品生成不同的二维码,展示在各种场景,用于用户扫描购买。步

  2. 用户使用微信“扫一扫”扫描二维码后,获取商品支付信息,引导用户完成支付

  3. 用户确认支付,输入支付密码

  4. 支付完成后会提示用户支付成功(如图6.5),商户后台得到支付成功的通知,然后进行发货处理。

业务流程说明

  1. 商户后台系统根据用户选购的商品生成订单。

  2. 用户确认支付后调用UseePay微信支付(Server To Server)生成预支付交易;

  3. 微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url。

  4. 商户后台系统根据返回的code_url生成二维码。

  5. 用户打开微信“扫一扫”扫描二维码,完成支付

  6. UseePay 异步通知(notifyUrl)商户系统订单完成

  7. 未收到支付通知的情况,商户后台系统调用【查询订单API】

  8. 商户确认订单已支付后给用户发货

微信扫码支付wechat_native

POST USEEPAY_PATH/api

Headers

NameTypeDescription

content-type*

String

application/x-www-form-urlencoded

Request Body

NameTypeDescription

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, 消费者信息, 请参考消费者信息

{
    "codeUrl": "weixin://wxpay/bizpayurl?pr=qCJcd2azz",
    "amount": "2",
    "resultCode": "pending",
    "sign": "1213b8dd73dff60c62e6c12d7000d32f",
    "errorCode": "3200",
    "transactionId": "202201180239183",
    "errorMsg": "Transaction is pending",
    "transactionType": "pay",
    "reference": "1012201181439650764",
    "echoParam": "echoParam",
    "signType": "MD5",
    "currency": "HKD",
    "merchantNo": "500000000007264"
}

请求参数详情说明

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

NameTypeDescription

content-type*

String

application/x-www-form-urlencoded

Request Body

NameTypeDescription

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