程序监测,最终提交的url如下
https://openapi.alipay.com/gateway.do?app_id=2016061501500000&version=1.0&format=json&sign_type=RSA&method=alipay.trade.pay×tamp=2016-08-26+17%3A14%3A52&auth_token=&alipay_sdk=alipay-sdk-php-20160411&terminal_type=&terminal_info=&prod_code=¬ify_url=&charset=UTF-8&app_auth_token=&sign=EMVoBAhPkW6B1m%2BoXytdbUpIxnIAq73jtiPhlH2VUYy4OcJQ2UiVTXWttw0y%2B7UEXHWILY8fYRDoNrJWSjBATrAqbGCLpPc4YBQSwtPCb%2F76d65dMQEyrEnk2sgcqhxCiJNKRoQjgAQmBQdHneerU7SwSNJ%2FfF%2F025yltZk5lzQ%3D
发送的json数据如下:
{
"scene":"bar_code",
"out_trade_no":"barpay20160826051452680",
"total_amount":0.01,
"auth_code":"289743098358423535",
"timeout_express":"5m",
"subject":"方倍工作室-支付宝-当面付-扫码支付"
}
接收到的数据如下
{
"alipay_trade_pay_response":{
"code":"10000",
"msg":"Success",
"buyer_logon_id":"118***@qq.com",
"buyer_pay_amount":"0.01",
"buyer_user_id":"2088002364008751",
"fund_bill_list":[
{
"amount":"0.01",
"fund_channel":"ALIPAYACCOUNT"
}
],
"gmt_payment":"2016-08-26 17:14:59",
"invoice_amount":"0.01",
"open_id":"20880044751374809757987911112575",
"out_trade_no":"barpay20160826051452680",
"point_amount":"0.00",
"receipt_amount":"0.01",
"total_amount":"0.01",
"trade_no":"2016082621001004750244100034"
},
"sign":"pEDeMwh6x73t9LmWrZpGnVb1npnKtODw6+8MDUTurNPVWXR1JHT+x3cRt2G4SDNHzxkJTzSpUXjNylsWisRTnQJJzqRP5XMujxmaAHP/d5xXeyWasDag5Cj7yGD7t80buDAsdE4eoqQ6ox7KzJ6LwKcphOX13tI+Ukt1dGCQS5o="
}
2. 扫码支付
扫码支付的参数配置如下
// (必填) 商户网站订单系统中唯一订单号,64个字符以内,只能包含字母、数字、下划线,
// 需保证商户系统端不能重复,建议通过数据库sequence生成,
$outTradeNo = "qrpay".date('Ymdhis').mt_rand(100,1000);
$subject = "方倍工作室-支付宝-当面付-扫码支付";
$totalAmount = "0.01";
// 支付超时,线下扫码交易定义为5分钟
$timeExpress = "5m";
// 创建请求builder,设置请求参数
$qrPayRequestBuilder = new AlipayTradePrecreateContentBuilder();
$qrPayRequestBuilder->setOutTradeNo($outTradeNo);
$qrPayRequestBuilder->setTotalAmount($totalAmount);
$qrPayRequestBuilder->setTimeExpress($timeExpress);
$qrPayRequestBuilder->setSubject($subject);
// 调用qrPay方法获取当面付应答
$qrPay = new AlipayTradeService($config);
$qrPayResult = $qrPay->qrPay($qrPayRequestBuilder);
// 根据状态值进行业务处理
switch ($qrPayResult->getTradeStatus()){
case "SUCCESS":
echo "支付宝创建订单二维码成功:"."<br>---------------------------------------<br>";
$response = $qrPayResult->getResponse();
$qrcode = $qrPay->create_erweima($response->qr_code);
echo $qrcode;
print_r($response);
break;
case "FAILED":
echo "支付宝创建订单二维码失败!!!"."<br>--------------------------<br>";
if(!empty($qrPayResult->getResponse())){
print_r($qrPayResult->getResponse());
}
break;
case "UNKNOWN":
echo "系统异常,状态未知!!!"."<br>--------------------------<br>";
if(!empty($qrPayResult->getResponse())){
print_r($qrPayResult->getResponse());
}
break;
default:
echo "不支持的返回状态,创建订单二维码返回异常!!!";
break;
}







