封装了一种与框架无关的多网关支付 PHP的处理库。
只需要三步解决支付难题。设置支付配置、增加支付路由、复制控制器方法。
需要源码的请留言备注。
支持多种主流支付,支持支付:
- Paypal
- Stripe
- Alipay
- WechatPay
- UnionPay
- VivaPayments
- WePay
- QQ Wallet(QPay)
- OnePay
- GoPay
安装
composer require ***
基础用法
一、设置支付配置
在molpay/src/config/config.php中配置秘钥、回调等参数
[
'paypal' => [
'mode' => 'sandbox', // 生产-live 测试-sandbox
'method'=> 'PayPal_Express',
'live' => [
'client_id' => 'PAYMENT_PAYPAL_CLIENT_ID',
'client_secret' => 'PAYMENT_PAYPAL_CLIENT_SECRET',
'username' => 'PAYMENT_PAYPAL_USERNAME',
'password' => 'PAYMENT_PAYPAL_PASSWORD',
'signature' => 'PAYMENT_PAYPAL_SIGNATURE',
'returnUrl' => 'http://live.com/pay/success',
'cancelUrl' => 'http://live.com/pay/cancel',
],
'sandbox' => [
'client_id' => 'AZvq-navttgzfCgq6dcpyakcpfgPBtbpp_o-666Jz',
'client_secret' => 'EDO7Pe1902pOEvD3LzSCLKY1QfAVDQN9795LPxNCp',
'username' => 'sb-5jofo28881625_api1.business.example.com',
'password' => '66GUGXTJJZ59E4UU',
'signature' => 'A2Qh8qvufbLIQa63.PAln75kW2A9A2fOjNSvhS6WU5XJOQ-JSuGziR9B',
'returnUrl' => 'http://sandbox.com/pay/success',
'cancelUrl' => 'http://sandbox.com/pay/cancel',
],
'payment_action' => 'Sale',
'currency' => 'USD',
'notify_url' => '',
'locale' => 'en_US',
'validate_ssl' => false,
],
];
二、增加支付路由
$router->get('/pay/success', 'DemoController@purchase');
$router->get('/pay/cancel', 'DemoController@completePurchase');
三、复制控制器方法
# 创建paypal付款
#
# Paypal需要拉起一个支付,生成token和PayerID
public function purchase()
{
try {
$client = \Mol\Pay\Library\Paypal\Paypal::getInstance();
$response = $client->purchase($amount);
}catch (\Exception $e){
dp($e->getMessage());
}
}
# 完成Paypal收款
#
# completePurchase是配置文件molpay/src/config/config.php中的回调成功returnUrl的路由对应的方法
public function completePurchase()
{
try {
$client = \Mol\Pay\Library\Paypal\Paypal::getInstance();
$key = $request->get('key'); //传入的加密参数key,包含金额、币种
return $client->completePurchase($token,$PayerID,$key);
}catch (\Exception $e){
dp($e->getMessage());
}
}
# 取消Paypal收款
#
# cancelPurchase是配置文件molpay/src/config/config.php中的回调取消cancelUrl的路由对应的方法
public function cancel()
{
try {
$client = \Mol\Pay\Library\Paypal\Paypal::getInstance();
return $client->cancelPurchase($token,$PayerID);
}catch (\Exception $e){
dp($e->getMessage());
}
}
示例图解
一、paypal秘钥信息配置
二、测试支付账号
三、账号支付付款
四、支付成功后会在日志中看到支付成功记录
备注
- 1.从 purchase() 响应获取的交易参考不能用于退款购买。completePurchase() 响应中的事务引用是应该使用的。
- 2.molpay不包括定期付款或账单协议,因此这些功能不包含在此套餐中。始终欢迎对此网关进行扩展。
- 上线后记得使用https,否则支付不成功
- 需要源码的留言,可提供协作。
欢迎关注摩尔小哥的公众号