|
[插件使用]
aliPayPlus v1.0.1 使用payOrder遇到38173
[复制链接]
以下是我取orderInfostr的代码
include("../alipayappserv/AopSdk.php");
$aop = new AopClient;
$aop->gatewayUrl = "https://openapi**.**/gateway.do";
$aop->appId = "2017080908110957";
$aop->rsaPrivateKey = 'MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMLYnzVJNOZngAZdhjqABEpTJCY8UfggCXuC7rE8fNdzes3Gz2pd/hj8XXO3/FO5f67iw15PGevsOIEmb0nX3njvg+8fc1yAgvgkIcaVgBZNRL1xtRPfjF6bRxOyVI7iU9AIWnypGmdshP/+egBYAgm7Tu74oFlkTUSQ64eVPvXZAgMBAAECgYA422V58ybQpRsiwF/O6lRWK/S8g5WXxiF+PTLR3UjAxh3rtjwIWe0v9VR/1Ax5kgPEUL+Z4ZM62O+UIFcRQUDVnrnqsLSUL7QWJ4DHB1COkxzzLQXGjkI6nkzQqc7K6VgyJQTuWx712J6qtsBlDT3gHtLUhU88Crhckln3Mx6CkQJBAPCdolb556dCYTy238a4+r7CW8NSNH4pASp4soj2Uh2faZA0+Qq3h/Lp/TnJp1kxU37GuAFkLbs9CtV9YguDOCcCQQDPTdZptYW2LS5jmnguk2lBW161tY1ZPR82xUpsXEzUgzLxR0GLCevZf40Oiiwn89G/1tP1avN3Gaix+OpNayH/AkBTn+WA5v/M0LQsvr4NOdLjo3by7koSIrwl/6bFFR667uFoXhDD2b9k/E+m2t/PjuYe5H+k9CU0suVmB1qg96z3AkAdnQ7uFuI8/gNMczqL3L8CeRz0dDT29IZK+rAA/sZy7TMPyJASXp50eYYa954LLwddkkDBJEAXWXEBy38dBBrdAkEAiw2XnADuxv0+QxBaz1D2oKf52e9GjT0ipSDzRfJCA6ESvY1ruBa4GloXDnScsZ00NWtuXO06NIZijMuZtCz5/g==';
$aop->format = "json";
$aop->charset = "UTF-8";
$aop->signType = "RSA2";
$aop->alipayrsaPublicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp21EP5+3F3HieomEoyc8T1VjHaWSAzKWZ5LC3QQ1F0zwo7KCkTe3s3Mh8FOtlMc1Puvng/2P4MhpBW1GZx/+JhWKNgecYpDAL0cOEhg48G5/FAgSldteh5QG1RS85og0NBBnq4Ifx7VWSnyvVABS2oF4D1qL2ydb3TCKPzzWL4rh5Wq6GOb87pnxx9GQX8sn/U64xXhwcaLXlkdbM8Es5R0UV79Um4nRqCkOP7x4F2GwexQchcpFBjRahS0wacPuioPu5qWQ7ngR8WvHh6OSfGx27bkMeBpKyZ6cnF6DclntDu04dITOCNGeGpVJKHz3h08cG07i0zZXmZbBRIDouQIDAQAB';
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
$request = new AlipayTradeAppPayRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
$bizcontent = "{\"body\":\"充值\","
. "\"subject\": \"会员充值\","
. "\"out_trade_no\": \"".$orderNumber."\","
. "\"timeout_express\": \"30m\","
. "\"total_amount\": \"".$money."\","
. "\"product_code\":\"QUICK_MSECURITY_PAY\""
. "}";
$myfile = fopen("log.txt", "w") or die("Unable to open file!");
$txt =$bizcontent."\n";
fwrite($myfile, $txt);
$request->setNotifyUrl("http://www**.**/alipayappserv/notify_url.php");
$request->setBizContent($bizcontent);
//这里和普通的接口调用不同,使用的是sdkExecute
$response = $aop->sdkExecute($request);
//htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题
fwrite($myfile, htmlspecialchars($response)."\n");
fclose($myfile);
echo $response;
以下是$response的内容
alipay_sdk=alipay-sdk-php-20161101&app_id=2017080908110957&biz_content=%7B%22body%22%3A%22%E5%85%85%E5%80%BC%22%2C%22subject%22%3A+%22%E4%BC%9A%E5%91%98%E5%85%85%E5%80%BC%22%2C%22out_trade_no%22%3A+%2220170817114252846987%22%2C%22timeout_express%22%3A+%2230m%22%2C%22total_amount%22%3A+%22100.00%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%7D&charset=UTF-8&format=json&method=alipay.trade.app.pay&notify_url=http%3A%2F%2Fwww**.**%2Falipayappserv%2Fnotify_url.php&sign_type=RSA2&timestamp=2017-08-17+11%3A42%3A55&version=1.0&sign=iXguH%2FuBSf2buFDNnPlFtJNBXj3YUISTM4XtKL%2Bm4mx0GZXbfwAaq1WXiqV9kp9uBhiCRc3hEsHd1RcRSABHuUSCmASRK6NYptBUlWxCtGqnz5L2W2uQtjv97gfihNIhyusCPgXIgJt%2Brpy31dQjwQsRb3YRoH1BWrTLSSAdsi0%3D
以下是支付页面的payOrder的部分代码
aliPayPlus.payOrder({
orderInfo: orderInfostr
}, function(ret, err) {
if(ret.code == 9000){
api.alert({
title: '支付结果',
msg: ret.code,
buttons: ['确定']
});
gotoRoot(2);
}else{
api.alert({
title: '支付失败',
msg: JSON.stringify(ret),
buttons: ['确定']
});
}
});
点击支付后能调起支付宝,但提示Ali38173.
求解决!
|
|