使用支付宝支付出现问题:交易订单处理失败 请稍后再试 ALI38173


 
  

使用支付宝SDK实现移动端APP支付功能,SDK中提供的有一个调用方法,如果订单信息参数有问题就会报错交易订单处理失败:

/**
 * 支付宝支付业务
 * 
 * @param v
 */
public void payV2(View v) {
   if (TextUtils.isEmpty(APPID) || (TextUtils.isEmpty(RSA2_PRIVATE) && TextUtils.isEmpty(RSA_PRIVATE))) {
      new AlertDialog.Builder(this).setTitle("警告").setMessage("需要配置APPID | RSA_PRIVATE")
            .setPositiveButton("确定", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialoginterface, int i) {
                  //
                  finish();
               }
            }).show();
      return;
   }

   /**
    * 这里只是为了方便直接向商户展示支付宝的整个支付流程;所以Demo中加签过程直接放在客户端完成;
    * 真实App里,privateKey等数据严禁放在客户端,加签过程务必要放在服务端完成;
    * 防止商户私密数据泄露,造成不必要的资金损失,及面临各种安全风险; 
    * 
    * orderInfo的获取必须来自服务端;
    */
       boolean rsa2 = (RSA2_PRIVATE.length() > 0);
   Map, String> params = OrderInfoUtil2_0.buildOrderParamMap(APPID, rsa2);
   String orderParam = OrderInfoUtil2_0.buildOrderParam(params);

   String privateKey = rsa2 ? RSA2_PRIVATE : RSA_PRIVATE;
   String sign = OrderInfoUtil2_0.getSign(params, privateKey, rsa2);
   final String orderInfo = orderParam + "&" + sign;
   
   Runnable payRunnable = new Runnable() {

      @Override
      public void run() {
         PayTask alipay = new PayTask(PayDemoActivity.this);
         Map, String> result = alipay.payV2(orderInfo, true);
         Log.i("msp", result.toString());

         Message msg = new Message();
         msg.what = SDK_PAY_FLAG;
         msg.obj = result;
         mHandler.sendMessage(msg);
      }
   };

   Thread payThread = new Thread(payRunnable);
   payThread.start();
}

里面的orderInfo是一长串的支付信息,可以APP端生成,也能从后台获取,为了安全期间还是要从后台获取,我这边从后台获取的这一字符串为:

alipay_sdk=alipay-sdk-java-dynamicVersionNo&

app_id=20171226xxxxxxxx&
biz_content=业务请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档&
charset=UTF-8&
format=json&
method=alipay.trade.app.pay&
sign=商户请求参数的签名串,详见签名&
timestamp=2018-06-25+16%3A40%3A50&
version=1.0

直接添加到方法中使用就能调起支付了!如果感觉自己的参数有问题可以以此对照一下(注意字符串的格式)。

你可能感兴趣的:(使用支付宝支付出现问题:交易订单处理失败 请稍后再试 ALI38173)