本站代码仅供学习研究使用,请勿商业运营,严禁从事违法、侵权等任何非法活动,否则后果自负!
微信支付已经成为人们生活不可缺少的一部分,也是各种系统开发的必须过程,微信支付总共有三种方式:APP支付、公众号支付、扫码支付,微信支付不同接口需要的参数会有差别。请大家在使用接口时,仔细查看文档。
详见微信支付开发文档:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12&index=2
下面介绍一个简单的微信支付开发DEMO过程:
这里扫码支付与公众号支付分别需要提供不同的参数。请一定注意进行区分。否则调用相应端口会抛出异常。
详细参数请看:
配置文件
参数
|
参数名
|
参数说明
|
是否必须
|
app_id
|
公众账号ID/应用id
|
微信分配的公众账号ID
|
是
|
mch_id
|
商户号
|
微信支付分配的商户号
|
是
|
md5_key
|
加密的key
|
在商户中心设置
|
是
|
notify_url
|
通知地址
|
接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。
|
是
|
time_expire
|
交易过期时间
|
单位为分钟,过期后无法再次支付
|
是
|
cert_path
|
密钥文件
|
可在微信商户后台中下载
|
否,退款需要
|
key_path
|
密钥文件
|
可在商户中心下载
|
否,退款需要
|
这里需要注意的是,app_id,由于微信的三个支付接口,需要对应两个不同的app_id。因此再开发中一定要注意。
请求参数
参数
|
参数名
|
参数说明
|
是否必须
|
order_no
|
订单号
|
平台根据规则生成的订单号,最长64位,要在商户数据库中唯一
|
必须
|
amount
|
交易总金额
|
该笔订单的资金总额,单位为RMB-Yuan。取值范围为[0.01,100000000.00],精确到小数点后两位。
|
必须
|
client_ip
|
客户端IP
|
用户在创建交易时,该用户当前所使用机器的IP。
|
必须
|
subject
|
商品名称
|
商品的标题/交易标题/订单标题/订单关键字等。该参数最长为128个汉字。
|
必须
|
body
|
商品描述
|
对一笔交易的具体描述信息。如果是多种商品,请将商品描述字符串累加传给body。
|
必须
|
extra_param
|
公用回传参数
|
如果用户请求时传递了该参数,则返回给商户时会回传该参数。
|
可选
|
product_id
|
商品ID
|
扫码支付,此参数必传。此id为二维码中包含的商品ID,商户自行定义。
|
可选
|
openid
|
用户标识
|
公众号支付,此参数必传,用户在商户appid下的唯一标识。
|
可选
|
返回值描述
三种支付方式返回值因为处理方式不同,微信方面返回了不同的类型。
* app支付返回了需要调用的数组。调用客户端的方式 查看微信文档
* 扫码支付返回了一个地址。可生成一个二维码,完成支付。
* 公众号支付,返回的是一个json数据。可直接放入微信的sdk完成jsapi调用。
本站代码仅供学习研究使用,请勿商业运营,严禁从事违法、侵权等任何非法活动,否则后果自负!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容