基于Lumen-支付宝支付, 这里使用的是Payment第三方sdk by helei112g/payment
Payment是php版本的支付聚合第三方sdk,集成了微信支付、支付宝支付、招商一网通支付。提供统一的调用接口,方便快速接入各种支付、查询、退款、转账能力。服务端接入支付功能,方便、快捷。
Payment使用文档
Payment使用常见问题汇总
环境准备
Payment
需要 PHP >= 5.6
以上的版本,并且同时需要PHP安装以下扩展
cURL extension
mbstring
BC Math
Guzzle
guzzle 是一个开源的php http请求lib, 项目地址
安装Payment
1
| composer require "riverslei/payment:*"
|
先看几个Payment Demo
手机app
支付demo
vendor/riverslei/example/ali/appCharge.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?php
require_once __DIR__ . '/../../autoload.php';
use Payment\Common\PayException; use Payment\Client\Charge; use Payment\Config;
date_default_timezone_set('Asia/Shanghai'); $aliConfig = require_once __DIR__ . '/../aliconfig.php';
$orderNo = time() . rand(1000, 9999); $payData = [ 'body' => 'ali qr pay', 'subject' => '测试支付宝扫码支付', 'order_no' => $orderNo, 'timeout_express' => time() + 600, 'amount' => '0.01', 'return_param' => '123123', 'client_ip' => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1', 'goods_type' => '1', 'store_id' => '', ];
try { $str = Charge::run(Config::ALI_CHANNEL_APP, $aliConfig, $payData); } catch (PayException $e) { echo $e->errorMessage(); exit; }
echo $str;
|
wap
网站支付
vendor/riverslei/example/ali/wapCharge.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?php
require_once __DIR__ . '/../../autoload.php';
use Payment\Common\PayException; use Payment\Client\Charge; use Payment\Config;
date_default_timezone_set('Asia/Shanghai'); $aliConfig = require_once __DIR__ . '/../aliconfig.php';
$orderNo = time() . rand(1000, 9999); $payData = [ 'body' => 'ali wap pay', 'subject' => '测试支付宝手机网站支付', 'order_no' => $orderNo, 'timeout_express' => time() + 600, 'amount' => '0.01', 'return_param' => 'tata', 'client_ip' => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1', 'goods_type' => '1', 'store_id' => '', ];
try { $url = Charge::run(Config::ALI_CHANNEL_WAP, $aliConfig, $payData); } catch (PayException $e) { echo $e->errorMessage(); exit; }
header('Location:' . $url);
|
web
电脑支付 即时到账接口
vendor/riverslei/example/ali/webCharge.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <?php
require_once __DIR__ . '/../../autoload.php';
use Payment\Common\PayException; use Payment\Client\Charge; use Payment\Config;
date_default_timezone_set('Asia/Shanghai'); $aliConfig = require_once __DIR__ . '/../aliconfig.php';
$orderNo = time() . rand(1000, 9999); $payData = [ 'body' => 'ali web pay', 'subject' => '测试支付宝电脑网站支付', 'order_no' => $orderNo, 'timeout_express' => time() + 600, 'amount' => '0.01', 'return_param' => '123123', 'client_ip' => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1', 'goods_type' => '1', 'store_id' => '',
'qr_mod' => '', ];
try { $url = Charge::run(Config::ALI_CHANNEL_WEB, $aliConfig, $payData); } catch (PayException $e) { echo $e->errorMessage(); exit; }
header('Location:' . $url);
|