APP调起支付API

最新更新时间:2020.9.29 版本说明


通过合单下单接口获取到发起支付的必要参数prepay_id,可以按照接口定义中的规则,使用微信支付提供的SDK调起APP支付。

接口说明

适用对象:电商平台 服务商 直连商户

接口规则:https://wechatpay-api.gitbook.io/wechatpay-api-v3

接口定义

客户端请求字段(注意:以下字段名字母大小写敏感):


参数名 变量 类型[长度限制] 必填 描述
应用id appid string[1,32] 微信开放平台审核通过的应用appid ,为二级商户申请的应用appid。
示例值:wx8888888888888888
电商平台商户号 partnerid string[1,32] 请填写服务商平台商户号sp_mchid对应的值。
示例值:1900000109
预支付交易会话ID prepayid string[1,32] 微信返回的支付交易会话id。
示例值: WX1217752501201407033233368018
订单详情扩展字符串 package string[1,128] 暂填写固定值Sign=WXPay
示例值:Sign=WXPay
随机字符串 noncestr string[1,32] 随机字符串,不长于32位。推荐随机数生成算法。
示例值: 5K8264ILTKCH16CQ2502SI8ZNMTM67VS
时间戳 timestamp string[1,10] 时间戳
示例值:1412000000
签名 sign string[1,32] 签名,使用字段appId、timeStamp、nonceStr、prepayid按照签名生成算法计算得出的签名值
示例值:C380BEC2BFD727A4B6845133519F3AD6

APP调起支付的参数需要按照签名规则进行签名计算:

1、构造签名串

签名串一共有四行,每一行为一个参数。行尾以\n(换行符,ASCII编码值为0x0A)结束,包括最后一行。
如果参数本身以\n结束,也需要附加一个\n

参与签名字段及格式:

应用id
时间戳
随机字符串
预支付交易会话ID

数据举例:

wx8888888888888888
1414561699
5K8264ILTKCH16CQ2502SI8ZNMTM67VS
WX1217752501201407033233368018

2、计算签名值

计算签名值可参考:签名生成


请求示例


PayReq *request = [[[PayReq alloc] init] autorelease];
request.partnerId = @"10000100";
request.prepayId= @"1101000000140415649af9fc314aa427";
request.package = @"Sign=WXPay";
request.nonceStr= @"a462b76e7436e98e0ed6e13c64b4fd1c";
request.timeStamp= @"1397527777";
request.sign= @"582282D72DD2B03AD892830965F428CB16E7A256";
[WXApi sendReq:request];
 
    
{
JAVA示例代码
}
    

版本说明

关闭
V1.2
2020年9月29日
1. 新增签名(sign)字段
V1.1
2020.03.09
1. packageValue等参数调整
V1.0
2019.09.09
1. APP调起支付接口上线

技术咨询

反馈有奖