検索

ホームページ  >  に質問  >  本文

python - 微信支付一直提示XML格式错误,哪怕是使用官方的模板。

微信支付的统一下单接口要求这样的格式(摘自官方文档):

<xml>
   <appid>wx2421b1c4370ec43b</appid>
   <attach>支付测试</attach>
   <body>JSAPI支付测试</body>
   <mch_id>10000100</mch_id>
   <nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
   <notify_url>http://wxpay.weixin.qq.com/pub_v2/pay/notify.v2.php</notify_url>
   <openid>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</openid>
   <out_trade_no>1415659990</out_trade_no>
   <spbill_create_ip>14.23.150.211</spbill_create_ip>
   <total_fee>1</total_fee>
   <trade_type>JSAPI</trade_type>
   <sign>0CB01533B8C1EF103065174F50BCA001</sign>
</xml> 

我POST的数据如下:

<xml>
   <appid>wx(打个码)</appid>
   <attach>支付测试</attach>
   <body>树屋树递快递到寝配送服务</body>
   <detail>树屋树递快递到寝配送服务</detail>
   <device_info>WEB</device_info>
   <fee_type>CNY</fee_type>
   <mch_id>(打个码)</mch_id>
   <nonce_str><![CDATA[7&-1ib26HO5lWFoavTwe^]]></nonce_str>
   <notify_url><![CDATA[http://www.treehouses.cn/front-4ae1dacda1f197bbfbc57ec9fbb4911f/api/wxpayresponse]]></notify_url>
   <openid><![CDATA[o8nXct499ctQzioUQt93-vyq9hgM]]></openid>
   <out_trade_no><![CDATA[60065]]></out_trade_no>
   <product_id>0001</product_id>
   <spbill_create_ip><![CDATA[49.140.188.1]]></spbill_create_ip>
   <total_fee>1</total_fee>
   <trade_type>JSAPI</trade_type>
   <sign><![CDATA[F88FABC7BFD25B726864DC6D6FC8313B]]></sign>
</xml>

微信服务器返回的结果是:

<xml><return_code><![CDATA[FAIL]]></return_code>
<return_msg><![CDATA[XML格式错误]]></return_msg>
</xml>
天蓬老师天蓬老师2786日前991

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 17:31:27

    あなたのデータに基づいて試してみましたが、XML 形式が間違っているというメッセージは表示されず、署名が間違っているというメッセージのみが表示されました。

    それでは、コードをもう一度確認してみましょう。
    Python およびその他のコーディングの問題をすべて確認します。

    これはテストして渡すことができます:

    リーリー

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 17:31:27

    1.<product_id>0001</product_id> 公式テンプレートにはこのレコードがありません

    2. このように書くことはできても、0001 はできません。これは 0001 の代わりに 1 を書く必要があります。

    返事
    0
  • キャンセル返事