orkhanahmadov / laravel-golden-pay
1.0.5
2018-05-17 12:01 UTC
Requires
- php: >=5.6.4
- guzzlehttp/guzzle: ^6.2
README
此包专为使用阿塞拜疆支付处理服务 GoldenPay 接收支付而构建。
安装
运行 Composer 命令
composer require orkhanahmadov/laravel-golden-pay
将此行添加到您的提供者列表中(app/config/app
)
Orkhanahmadov\LaravelGoldenPay\LaravelGoldenPayServiceProvider::class,
将此行添加到您的别名列表中(app/config/app
)
'GoldenPay' => Orkhanahmadov\LaravelGoldenPay\Facade\GoldenPay::class,
将以下行添加到您的 .env
文件中,并填写它们的值
GOLDEN_PAY_MERCHANT_NAME=
GOLDEN_PAY_AUTH_KEY=
GOLDEN_PAY_CALLBACK_SUCCESS_URL=
GOLDEN_PAY_CALLBACK_FAIL_URL=
GOLDEN_PAY_REDIRECT_ROUTE=
GOLDEN_PAY_DELETE_UNUSED=
GOLDEN_PAY_MERCHANT_NAME
- GoldenPay 提供的商户名称GOLDEN_PAY_AUTH_KEY
- GoldenPay 提供的授权密钥。您可以从GoldenPay 商户页面获取。GOLDEN_PAY_CALLBACK_URL
- 成功支付的相对回调 URL。示例:"/payment/goldenpay/success"
。在GoldenPay 商户页面上使用完整 URL。GOLDEN_PAY_CALLBACK_FAIL_URL
- 失败支付的相对回调 URL。示例:"/payment/goldenpay/fail"
。在GoldenPay 商户页面上使用完整 URL。GOLDEN_PAY_REDIRECT_ROUTE
- 完成支付后重定向支付数据的路由名称GOLDEN_PAY_DELETE_UNUSED
- (可选,默认 -true
)每天从数据库中删除未使用的支付初始化(需要 Laravel Cron 设置才能正常工作)
最后,您需要使用 artisan 命令将所需表迁移到数据库中
php artisan migrate
初始化支付
要初始化支付,您需要调用 init
方法。该方法接受一个数组作为其唯一参数。数组必须包含
amount
- 支付金额cardType
- 将使用哪种支付卡,v
代表 VISA,m
代表 MasterCarddescription
- 关于购买或商品名称或商品 ID 的描述lang
- (可选)定义支付页面上使用的语言环境。lv
代表阿塞拜疆语,ru
代表俄语,en
代表英语。这是可选的,如果没有设置,则包将使用 Laravel 内置的App::getLocale()
来设置语言环境。
GoldenPay::init([ 'amount' => 15.5, 'cardType' => 'v', 'description' => 7 ]);
方法将返回唯一的支付 URL。使用该 URL 将用户重定向到支付页面。
所有支付处理都在 GoldenPay 一方完成。一旦用户完成支付,GoldenPay 的处理中心将根据支付结果将用户重定向到回调 URL 之一。包将处理支付结果,将其插入到数据库表中,设置会话数据,并重定向到 GOLDEN_PAY_REDIRECT_ROUTE
路由。会话数据将包含
goldenpay_status_code
- 支付结果代码。成功时为1
。goldenpay_status_message
- 支付结果消息。成功时为success
。goldenpay_amount
- 已支付金额goldenpay_description
- 商品描述goldenpay_reference_number
- GoldenPay 的唯一参考编号
处理未完成的支付
通常情况下,用户完成支付页面后,结果会发送到回调URL并处理。但有可能由于某些原因,回调函数不会收到支付结果。例如,当网站宕机或处于维护模式,或者用户未完成支付就离开支付页面。在这种情况下,需要手动检查未完成的支付。如果您已经为Laravel启用了Cron,该包将自动检查未完成的支付状态。有关如何为Laravel启用Cron的更多信息,请点击这里
配置
您可以使用Artisan命令将配置文件导出到您的根目录下的config
目录
php artisan vendor:publish
此命令将在您的根目录下的config
目录内创建一个名为goldenpay
的文件夹,并将所有配置文件导出到该文件夹。
许可证
MIT
待办事项
- 改进错误处理
- 创建测试(这个包尚未经过测试 #shame)