orkhanahmadov/laravel-golden-pay

此包已被放弃且不再维护。作者建议使用orkhanahmadov/laravel-goldenpay包代替。

适用于 Laravel 5 的 GoldenPay 支付集成

1.0.5 2018-05-17 12:01 UTC

This package is not auto-updated.

Last update: 2019-11-10 22:11:53 UTC


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 代表 MasterCard
  • description - 关于购买或商品名称或商品 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)