700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 使用支付宝支付出现问题:交易订单处理失败 请稍后再试 ALI38173

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

时间:2020-07-04 08:14:34

相关推荐

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

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

/***支付宝支付业务**@paramv*/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, 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() {@Overridepublic void run() {PayTask alipay = new PayTask(PayDemoActivity.this); Map<String, 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=1226xxxxxxxx&

biz_content=业务请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档&

charset=UTF-8&

format=json&

method=alipay.trade.app.pay&

sign=商户请求参数的签名串,详见签名&

timestamp=-06-25+16%3A40%3A50&

version=1.0

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。