asbamboo/openpay 是微信支付、支付宝支付等第三方支付接口的聚合接口。它能帮助开拓者,以最大略、最快捷的办法接入第三方支付渠道。
如果开拓者利用asbamboo/openpay供应的接口实现系统支付功能,在将来添加新的支付渠道时,他不须要修正已有的代码,他只须要安装(或者自行开拓)该支付渠道的扩展。
支付渠道

asbamboo/openpay 须要合营支付渠道代码库一起利用
渠道名称支持openpay版本代码库
支付宝支付
请根据 asbamboo/openpay 的解释: https://github.com/asbamboo/openpay/blob/master/docs/install.rst 将asbamboo/openpay-alipay 运用到你的项目上。
参数配置
asbamboo\openpayAlipay\Env 类中声明的几个常量,是利用 asbamboo//openpay-alipay 必须配置的环境变量。通过asbamboo\helper\env\Env::set(\公众变量名\"大众, \公众变量值\"大众) 方法进行设置。
OPENPAY_ALIPAY_GATEWAY_URI:要求支付宝接口的网关url。OPENPAY_ALIPAY_RSA_PRIVATE:天生支付宝要求参数sign,利用的秘钥文件(SHA256withRsa)。OPENPAY_ALIPAY_RSA_ALIPAY:验证支付宝相应参数sign,利用的支付宝公钥文件(SHA256withRsa)。OPENPAY_ALIPAY_APP_ID:支付宝运用app_id。
支付宝秘钥解释请查看:https://alipay.open.taobao.com/doc2/detail?treeId=200&articleId=105310&docType=1
须要在 config/openpay-config.php 中配置环境变量:
<?phpuse asbamboo\database\Factory;use asbamboo\helper\env\Env AS EnvHelper;use asbamboo\openpayAlipay\Env AS AlipayEnv;/ 环境参数配置 /// 支付宝网关EnvHelper::set(AlipayEnv::ALIPAY_GATEWAY_URI, 'https://openapi.alipaydev.com/gateway.do');// 自己天生支付宝rsa私银文件EnvHelper::set(AlipayEnv::ALIPAY_RSA_PRIVATE_KEY, dirname(__DIR__) . '/alipay-rsa/app_private_key.pem');// 支付宝天生支付宝rsa公银文件EnvHelper::set(AlipayEnv::ALIPAY_RSA_ALIPAY_KEY, dirname(__DIR__) . '/alipay-rsa/app_alipay_key.pem');// 支付宝app idEnvHelper::set(AlipayEnv::ALIPAY_APP_ID, 'xxxxxxxxxxxxxxxxx');//
利用asbamboo/openpay-alipay模块后,交易支付(trade.pay)接口将支持如下渠道(channel字段)
ALIPAY_APP:支付宝APP支付(手机app支付的做事端参数天生接口)ALIPAY_PC:支付宝PC电脑端支付ALIPAY_QRCD:支付宝扫码支付(买家手机扫商户)
微信支付v1.0
安装
请根据 asbamboo/openpay 的解释: https://github.com/asbamboo/openpay/blob/master/docs/install.rst 将asbamboo/openpay-wxpay 运用到你的项目上。
参数配置
asbamboo\openpayWxpay\Env 类中声明的几个常量,是利用 asbamboo//openpay-wxpay 必须配置的环境变量。通过asbamboo\helper\env\Env::set(\公众变量名\公众, \"大众变量值\"大众) 方法进行设置。
OPENPAY_WXPAY_GATEWAY_URI:要求微信接口的网关url,(各个接口公共的那部分url)。OPENPAY_WXPAY_SIGN_KEY:天生微信要求参数sign,利用的key(https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=4_3)。OPENPAY_WXPAY_APP_ID:微信分配的"大众年夜众账号ID(接口中的appid参数)。OPENPAY_WXPAY_MCH_ID:微信支付分配的商户号(接口中的mch_id参数)。
须要在 config/openpay-config.php 中配置环境变量:
<?phpuse asbamboo\helper\env\Env AS EnvHelper;use asbamboo\openpayWxpay\Env AS WxpayEnv;/ 环境参数配置 /// 微信网关EnvHelper::set(WxpayEnv::WXPAY_GATEWAY_URI, 'https://api.mch.weixin.qq.com/');// 微信加密利用的key值EnvHelper::set(WxpayEnv::WXPAY_SIGN_KEY, 'xxxxxxxxxxxxxxxxxxxxxxxxxx');// 微信 appidEnvHelper::set(WxpayEnv::WXPAY_APP_ID, 'wxxxxxxxxxxxxxx');// 微信商户号EnvHelper::set(WxpayEnv::WXPAY_MCH_ID, '00000000000000'); //
利用asbamboo/openpay-wxpay模块后,交易支付(trade.pay)接口将支持如下渠道(channel字段)
WXPAY_APP:微信APP支付(手机app支付的做事端参数天生接口)WXPAY_H5:微信H5支付WXPAY_QRCD:微信扫码支付(买家手机扫商户)
如何利用
你须要通过 composer 管理项目的依赖,可以参考 asbamboo/openpay-example (这是一个大略且完全的asbamboo/openpay做事端接口程序)。
在项目根目录下创建composer.json文件,配置你的程序支持的支付渠道:composer require 中添加依赖的支付渠道库composer scripts 中添加 asbamboo\openpay\script\Channel::generateMappingInfo{ ... \"大众require\"大众: { ... \公众asbamboo/openpay-wxpay\"大众: \"大众^1.0\"大众, \"大众asbamboo/openpay-alipay\公众: \公众^1.0\"大众 ... }, \公众scripts\"大众: { \公众openpay-scripts\公众: [ \公众asbamboo\\openpay\\script\\Channel::generateMappingInfo\"大众 ], \"大众post-install-cmd\"大众: [ \"大众@openpay-scripts\"大众 ], \公众post-update-cmd\公众: [ \公众@openpay-scripts\"大众 ] }, ...}在项目根目录下实行composer install安装项目依赖的代码库
php composer update安装数据库创建web入口运行测试进入web跟目录运行
php -S 127.0.0.1:8000
演示
演示地址: http://demo.asbamboo.com/openpay-example/public