微信支付沙箱環境對接流程

前者注:對接前導入微信SDK到項目中,微信支付沙箱環境支付不需要掃碼,自動支付成功。

對接流程:

  1. 獲取沙箱環境簽名密鑰,獲取方法:

下面獲取沙箱密鑰的示例代碼(in java):

  1. public String getSandboxSignKey() throws Exception{
        WXPay wxPay = new WXPay(this);
        try {
          Map<String, String> params = new HashMap<String, String>();
          //商戶號  
          params.put("mch_id", this.getMchID());
          //隨機數
          params.put("nonce_str", WXPayUtil.generateNonceStr());
          //此處密鑰使用正式環境的密鑰,加密方式只能使用MD5
          params.put("sign", WXPayUtil.generateSignature(params, this.getKey(), WXPayConstants.SignType.MD5));
    
          String strXML = wxPay.requestWithoutCert("/sandboxnew/pay/getsignkey",
                  params, this.getHttpConnectTimeoutMs(), this.getHttpReadTimeoutMs());
    
          Map<String, String> result = WXPayUtil.xmlToMap(strXML);
          System.out.println("retrieveSandboxSignKey:" + result);
          if ("SUCCESS".equals(result.get("return_code"))) {
            return result.get("sandbox_signkey");
          }
          return null;
        } catch (Exception e) {
          System.out.println("獲取sandbox_signkey異常" + e.getMessage());
          return null;
        }
      }

2.獲取到沙箱環境的密鑰後,替換正式的密鑰,調用對應的接口,沙箱環境的接口地址和正式環境的接口地址有所區別,參數都一樣,以下給出沙箱環境的各個api地址:

public static final String SANDBOX_MICROPAY_URL_SUFFIX = "/sandboxnew/pay/micropay";
public static final String SANDBOX_UNIFIEDORDER_URL_SUFFIX = "/sandboxnew/pay/unifiedorder";
public static final String SANDBOX_ORDERQUERY_URL_SUFFIX = "/sandboxnew/pay/orderquery";
public static final String SANDBOX_REVERSE_URL_SUFFIX = "/sandboxnew/secapi/pay/reverse";
public static final String SANDBOX_CLOSEORDER_URL_SUFFIX = "/sandboxnew/pay/closeorder";
public static final String SANDBOX_REFUND_URL_SUFFIX = "/sandboxnew/secapi/pay/refund";
public static final String SANDBOX_REFUNDQUERY_URL_SUFFIX = "/sandboxnew/pay/refundquery";
public static final String SANDBOX_DOWNLOADBILL_URL_SUFFIX = "/sandboxnew/pay/downloadbill";
public static final String SANDBOX_REPORT_URL_SUFFIX = "/sandboxnew/payitil/report";
public static final String SANDBOX_SHORTURL_URL_SUFFIX = "/sandboxnew/tools/shorturl";
public static final String SANDBOX_AUTHCODETOOPENID_URL_SUFFIX = "/sandboxnew/tools/authcodetoopenid";

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章