1:
2:sdk-php版
3:
public function test() //支付方法
{
$arr=[
'WIDout_trade_no'=>'20182000000000',
'WIDsubject'=>'在線支付',
'WIDtotal_amount'=>0.01,
'WIDbody'=>'測試'
];
session('order','00000012313213');
$data = alipay($arr, 'http://dengpq.cn/pay', 'http://dengpq.cn/pay');
dump($data);
die;
}
function alipay($post,$notify_url,$return_url){ //common中
$config = Config('alipay');
$arr=[
'app_id'=>$config['app_id'],
'merchant_private_key'=>$config['merchant_private_key'],
'notify_url'=>$notify_url,
'return_url'=>$return_url,
'charset'=>$config['charset'],
'sign_type'=>$config['sign_type'],
'gatewayUrl'=>$config['gatewayUrl'],
'alipay_public_key'=>$config['alipay_public_key']
];
vendor('alipay.AlipayTradeService');
vendor('alipay.AlipayTradePagePayContentBuilder');
$out_trade_no = trim($post['WIDout_trade_no']);
$subject = trim($post['WIDsubject']);
$total_amount = trim($post['WIDtotal_amount']);
$body = trim($post['WIDbody']);
$payRequestBuilder = new \AlipayTradePagePayContentBuilder();
$payRequestBuilder->setBody($body);
$payRequestBuilder->setSubject($subject);
$payRequestBuilder->setTotalAmount($total_amount);
$payRequestBuilder->setOutTradeNo($out_trade_no);
$aop = new \AlipayTradeService($arr);
$response = $aop->pagePay($payRequestBuilder, $arr['return_url'], $arr['notify_url']);
var_dump($response);
}
'alipay' =>[ //config
'app_id' => "app_id",
//商戶私鑰
'merchant_private_key' => "私鑰",
//編碼格式
'charset' => "UTF-8",
//簽名方式
'sign_type'=>"RSA2",
//支付寶網關
'gatewayUrl' => "https://openapi.alipaydev.com/gateway.do",
//支付寶公鑰,查看地址:https://openhome.alipay.com/platform/keyManage.htm 對應APPID下的支付寶公鑰。
'alipay_public_key' => "公鑰",
]
驗籤
$param = Request::instance()->param();
$gy = '支付寶公鑰'; //不是生成的
$aop = new \AopClient();
$aop->alipayrsaPublicKey = $gy;
//此處驗籤方式必須與下單時的簽名方式一致
$flag = $aop->rsaCheckV1($param,$gy, "RSA2");
//$flag等於true簽名一致 echo 'success';
}
sdk地址https://gitee.com/dengpq/mail/tree/master/Thinkphp5%E6%94%AF%E4%BB%98%E5%AE%9Dsdk