zoukankan      html  css  js  c++  java
  • 微信支付

    微信支付的开发文档:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=8_3

    以下是交互时序图,统一下单API、支付结果通知API和查询订单API等都涉及签名过程,调用都必须在商户服务器端完成。如图8.6所示。

    APP支付时序图

    图8.6 APP支付时序图

    商户系统和微信支付系统主要交互说明:

    步骤1:用户在商户APP中选择商品,提交订单,选择微信支付。

    步骤2:商户后台收到用户支付单,调用微信支付统一下单接口。

    步骤3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appId,partnerId,prepayId,nonceStr,timeStamp,package。注意:package的值格式为Sign=WXPay

    步骤4:商户APP调起微信支付。

    步骤5:商户后台接收支付通知。

    步骤6:商户后台查询支付结果。

    微信回调返回的xml数据格式如下:

    <xml>
    <appid><![CDATA[wxa7187bd65a683c0c]]></appid>
    <attach><![CDATA[{"data1":"**","data2":"**"}]]></attach>
    <bank_type><![CDATA[CFT]]></bank_type>
    <cash_fee><![CDATA[1]]></cash_fee>
    <fee_type><![CDATA[CNY]]></fee_type>
    <is_subscribe><![CDATA[N]]></is_subscribe>
    <mch_id><![CDATA[1280893301]]></mch_id>
    <nonce_str><![CDATA[APP]]></nonce_str>
    <openid><![CDATA[oIt0TwupG9JlwX0V245-EYQUP_NU]]></openid>
    <out_trade_no><![CDATA[201510301109214740]]></out_trade_no>
    <result_code><![CDATA[SUCCESS]]></result_code>
    <return_code><![CDATA[SUCCESS]]></return_code>
    <sign><![CDATA[B88DB9BD171F49CE5DC78A409B9FF2BF]]></sign>
    <time_end><![CDATA[20151030111000]]></time_end>
    <total_fee>1</total_fee>
    <trade_type><![CDATA[APP]]></trade_type>
    <transaction_id><![CDATA[1000030326201874301386474701]]></transaction_id>
    </xml>
     
  • 相关阅读:
    Bit Manipulation
    218. The Skyline Problem
    Template : Two Pointers & Hash -> String process
    239. Sliding Window Maximum
    159. Longest Substring with At Most Two Distinct Characters
    3. Longest Substring Without Repeating Characters
    137. Single Number II
    142. Linked List Cycle II
    41. First Missing Positive
    260. Single Number III
  • 原文地址:https://www.cnblogs.com/jimmy-muyuan/p/5104844.html
Copyright © 2011-2022 走看看