微信支付接口开发之--微信扫码支付

1、模式一
 
实现步骤
1)、生成支付链接或是二维码
链接格式如下:
weixin://wxpay/bizpayurl?appid=wxa842e8005c427e2d&mch_id=1314710101&nonce_str=3c6d11d09c2f4d49a7c18386cf8f3a14&product_id=123456789&sign=4AC5113048BD4A08E16DD8DC8D69A744&time_stamp=1456365970
这一步可能出现的错误:
扫码后微信提示:原生支付URL参数错误
原因:商户密钥key如果错了也会出现这个提示,URL的参数少传或是格式错了,或是签名错了都会出现这个错误
2)、用户扫描或是点进去1)中生成的链接,微信支付系统会在后台调用在“微信公众号”配置里设好的“扫码支付支付回调URL”,并向回调URL地要传递
openid和product_id进行统一下单
        回调URL的作用: 接收微信支付后台发送的扫码结果,调用统一下单接口并将下单结果返回给微信支付后台
回调URL设置如下图
在回调URL里的统一下单代码如下:
在回调URL里,返回给调用它的微信支付系统后台的参数如下:
    在WxPayApi官方示例这一步会出的错误
    错误一:
原因:在商户的回调URL的处理里出错,或是超时,如在官网提供的示例里就出了这个错,检查原因如下(坑太多了呢。。。。):
在WxPayApi的Data.cs里public SortedDictionary<string, object> FromXml(string xml)方法出错,改成下面自己写的
 
 
 
3、如果2)成功后会自动跳到微信支付的统一界面

 
2、模式二
描述:
    模式二与模式一相比,流程更为简单, 不依赖设置的回调支付URL,也没有“支付授权目录”的限制。商户后台系统先调用微信支付的统一下单接口,微信后台系统返回链接参数code_url,商户后台系统将code_url值生成二维码图片,用户使用微信客户端扫码后发起支付。注意:code_url有效期为2小时,过期后扫码不能再发起支付。

业务流程时序图

业务流程说明:
二维码规则
 
 
实现步骤
步骤一:调用统一下单接口
步骤二:统一下单接口会返回code_url参数,将它生成二维码就可以了
代码如下:
即:向 https://api.mch.weixin.qq.com/pay/unifiedorder接口post下面格式的数据就行:
<xml><appid><![CDATA[wxa842e8005c427e2d]]></appid><attach><![CDATA[这是易度附加数据]]></attach><body><![CDATA[这是易度商品描述]]></body><goods_tag><![CDATA[jjj]]></goods_tag><mch_id><![CDATA[1314710101]]></mch_id><nonce_str><![CDATA[b4f9d98a8d194f729220173bc31fd3d5]]></nonce_str><notify_url><![CDATA[ http://paysdk.weixin.qq.com/example/ResultNotifyPage.aspx]]></notify_url><out_trade_no><![CDATA[131471010120160229144430504]]></out_trade_no><product_id><![CDATA[123456789]]></product_id><sign><![CDATA[0430049F917C36BA1A2EC4778AE71AC6]]></sign><spbill_create_ip><![CDATA[8.8.8.8]]></spbill_create_ip><time_expire><![CDATA[20160229145430]]></time_expire><time_start><![CDATA[20160229144430]]></time_start><total_fee>1</total_fee><trade_type><![CDATA[NATIVE]]></trade_type></xml>
 
 
 
 

转载于:https://www.cnblogs.com/shengyu-kmust/p/5228261.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值