PHP code example of shiqc / alisdk
1. Go to this page and download the library: Download shiqc/alisdk library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
shiqc / alisdk example snippets
'providers' => [
// ...
'Shiqc\AliSDK\AlipayServiceProvider',
]
//Register Service Providers
$app->register(Shiqc\AliSDK\AlipayServiceProvider::class);
// 创建支付单。
$alisdk = app('alisdk.web');
$alisdk->setOutTradeNo('order_id');
$alisdk->setTotalFee('order_price');
$alisdk->setSubject('goods_name');
$alisdk->setBody('goods_description');
$alisdk->setQrPayMode('4'); //该设置为可选,添加该参数设置,支持二维码支付。
// 跳转到支付页面。
return redirect()->to($alisdk->getPayLink());
// 创建支付单。
$alisdk = app('alisdk.mobile');
$alisdk->setOutTradeNo('order_id');
$alisdk->setTotalFee('order_price');
$alisdk->setSubject('goods_name');
$alisdk->setBody('goods_description');
// 返回签名后的支付参数给支付宝移动端的SDK。
return $alisdk->getPayPara();
/**
* 异步通知
*/
public function webNotify()
{
// 验证请求。
if (! app('alisdk.web')->verify()) {
Log::notice('Alipay notify post data verification fail.', [
'data' => Request::instance()->getContent()
]);
return 'fail';
}
// 判断通知类型。
switch (Input::get('trade_status')) {
case 'TRADE_SUCCESS':
case 'TRADE_FINISHED':
// TODO: 支付成功,取得订单号进行其它相关操作。
Log::debug('Alipay notify post data verification success.', [
'out_trade_no' => Input::get('out_trade_no'),
'trade_no' => Input::get('trade_no')
]);
break;
}
return 'success';
}
/**
* 同步通知
*/
public function webReturn()
{
// 验证请求。
if (! app('alisdk.web')->verify()) {
Log::notice('Alipay return query data verification fail.', [
'data' => Request::getQueryString()
]);
return view('alisdk.fail');
}
// 判断通知类型。
switch (Input::get('trade_status')) {
case 'TRADE_SUCCESS':
case 'TRADE_FINISHED':
// TODO: 支付成功,取得订单号进行其它相关操作。
Log::debug('Alipay notify get data verification success.', [
'out_trade_no' => Input::get('out_trade_no'),
'trade_no' => Input::get('trade_no')
]);
break;
}
return view('alisdk.success');
}
/**
* 支付宝异步通知
*/
public function alisdkNotify()
{
// 验证请求。
if (! app('alisdk.mobile')->verify()) {
Log::notice('Alipay notify post data verification fail.', [
'data' => Request::instance()->getContent()
]);
return 'fail';
}
// 判断通知类型。
switch (Input::get('trade_status')) {
case 'TRADE_SUCCESS':
case 'TRADE_FINISHED':
// TODO: 支付成功,取得订单号进行其它相关操作。
Log::debug('Alipay notify get data verification success.', [
'out_trade_no' => Input::get('out_trade_no'),
'trade_no' => Input::get('trade_no')
]);
break;
}
return 'success';
}