Skip to content

微信支付

sqmax edited this page Apr 12, 2018 · 12 revisions

首先我们到微信支付的官方文档的开发步骤部分查看一下需要的设置,因为微信支付需要较高的权限,只有认证了得服务号才有使用微信支付接口的权限,我们个人很难申请到,所以需要向老师借用账号,借用地址,按说明填写好。

来到文档的业务流程部分,查看微信支付的流程。
因为访问微信支付接口是要传递的参数很多,见统一下单,我们使用另外一个SDK来开发,best-pay-sdk,这个SDK使用PayRequestPayResponse对请求接口和相应结果做了大量的封装,主要需要动态传入的参数是openid和orderId。具体的使用方法参见使用文档。 支付完成后,微信会返回给把支付结果以一段支付xml的数据返回给我们,我们需要将这段数据传递给异步通知url(notify_url),来完成支付结果的验证(验证签名,验证支付状态),这两步SDK都为我们做好了,只需这样调用bestPayService.asyncNotify(notifyData);,完成验证后,我们需要返回给微信这样一段数据:

<xml>

  <return_code><![CDATA[SUCCESS]]></return_code>
  <return_msg><![CDATA[OK]]></return_msg>
</xml>

告诉微信已完成验证,不要再给我们发送异步通知的请求。