Skip to content

支付宝 扫码支付

Andy edited this page Jun 21, 2017 · 7 revisions

发起扫码支付

use FantasyStudio\EasyPay\AliPay\Pos\Pos;

$pos = new Pos();
$pos->setPrivateKey("这里填入私钥内容");
$pos->setAppId("12345");
$pos->setSignType("RSA");
$pos->setNotifyUrl(); //可选,设置支付宝服务器主动通知商户服务器里指定的页面http/https路径。
//具体支付参数请参考 https://docs.open.alipay.com/api_1/alipay.trade.pay
$pos->purchase([
    "auth_code"=> "28763443825664394", "total_amount" => 0.01, "scene":"bar_code", "out_trade_no" => "2120960179264092", "subject" => "subjectaa"
]); 

$result = $pos->sendPaymentRequest();

var_dump($result->getRequestData()); //获取请求支付宝网关数据
var_dump($result->getResponseData()); //获取支付宝返回数据
var_dump($result->isSuccessful()); //获取请求状态

//扫码支付返回的参数请从 $result->getResponseData() 中获取并在您的业务逻辑中使用。

发起退款

use FantasyStudio\EasyPay\AliPay\Pos\Pos;

$pos = new Pos();
$pos->setPrivateKey("这里填入私钥内容");
$pos->setAppId("12345");
$pos->setSignType("RSA");
//请求参数请参考 https://docs.open.alipay.com/api_1/alipay.trade.refund
$result = $pos->refundOrder([
    "out_trade_no" => "201923123112",
    "refund_amount" => "0.01",
    "out_request_no" => "12345"
]);

var_dump($result->getRequestData()); //获取请求支付宝网关数据
var_dump($result->getResponseData()); //获取支付宝返回数据
var_dump($result->isSuccessful()); //获取请求状态

撤销订单

use FantasyStudio\EasyPay\AliPay\Pos\Pos;

$pos = new Pos();
$pos->setPrivateKey("这里填入私钥内容");
$pos->setAppId("12345");
$pos->setSignType("RSA");
//请求参数请参考 https://docs.open.alipay.com/api_1/alipay.trade.cancel
$result = $pos->reverseOrder([
    "out_trade_no" => "201923123112"
]);

var_dump($result->getRequestData()); //获取请求支付宝网关数据
var_dump($result->getResponseData()); //获取支付宝返回数据
var_dump($result->isSuccessful()); //获取请求状态

查询订单状态

use FantasyStudio\EasyPay\AliPay\Pos\Pos;

$pos = new Pos();
$pos->setPrivateKey("这里填入私钥内容");
$pos->setAppId("12345");
$pos->setSignType("RSA");
//请求参数请参考 https://docs.open.alipay.com/api_1/alipay.trade.query
$result = $pos->queryOrderState([
    "out_trade_no" => "201923123112"
]);
var_dump($result->getRequestData()); //获取请求支付宝网关数据
var_dump($result->getResponseData()); //获取支付宝返回数据
var_dump($result->isSuccessful()); //获取请求状态

查询退款状态

use FantasyStudio\EasyPay\AliPay\Pos\Pos;

$pos = new Pos();
$pos->setPrivateKey("这里填入私钥内容");
$pos->setAppId("12345");
$pos->setSignType("RSA");
//请求参数请参考 https://docs.open.alipay.com/api_1/alipay.trade.fastpay.refund.query
$result = $pos->queryRefundState([
    "out_request_no" => "12345",
    "out_trade_no" => "201923123112"
]);

var_dump($result->getRequestData()); //获取请求支付宝网关数据
var_dump($result->getResponseData()); //获取支付宝返回数据
var_dump($result->isSuccessful()); //获取请求状态