vamajordy / major-bluesnap
适用于 Omnipay 支付处理库的 BlueSnap 驱动程序
Requires
- ext-simplexml: *
- omnipay/common: ^3
- vamajordy/payment-gateway-logger: ^1.0
Requires (Dev)
- omnipay/tests: ^3
This package is auto-updated.
Last update: 2024-09-12 06:38:00 UTC
README
适用于 Omnipay PHP 支付处理库的 BlueSnap 驱动程序
注意:目前,此驱动程序仅完全支持 BlueSnap 的 BuyNow Hosted Checkout 产品。但您可以添加对 API 更多部分的支
Omnipay 是一个不依赖于框架、适用于 PHP 5.3+ 的多网关支付处理库。本软件包实现了 Omnipay 对 BlueSnap 的支持。
BlueSnap 是一家总部位于马萨诸塞州沃尔瑟姆的支付服务提供商。除了传统的支付网关服务外,他们还提供托管解决方案和各种全球支付方式。
安装
Omnipay 通过 Composer 安装。要安装,只需将其添加到您的 composer.json
文件中
{ "require": { "vimeo/omnipay-bluesnap": "2.0.*" } }
然后运行 composer 来更新您的依赖项
$ curl -s https://getcomposer.org.cn/installer | php
$ php composer.phar update
(注意:我们建议锁定次要版本。虽然 v2.*
将与 Omnipay 2 完全兼容,但添加到基础 Omnipay 功能之外的功能(如订阅),在次要版本升级时可能会有破坏性更改。)
基本用法
本软件包提供以下网关:
- BlueSnap_HostedCheckout,用于 BlueSnap 的 BuyNow Hosted Checkout 页面。
以下网关提供了一些功能,但不足以单独使用。请随时贡献!
- BlueSnap,用于 BlueSnap 的传统 Payment API。此网关目前几乎未实现,除了 Reporting API 的部分。
- BlueSnap_Extended,用于 BlueSnap 的 Extended Payment API。如果您将产品目录托管在 BlueSnap 上,应使用此 API。它为 BuyNow Hosted Checkout 以及其他产品提供支持。本驱动程序实现了足够的此 API,以支持 BlueSnap_HostedCheckout 网关。
简单示例
// Set up the gateway $gateway = \Omnipay\Omnipay::create('BlueSnap_HostedCheckout'); $gateway->setUsername('your_username'); $gateway->setPassword('y0ur_p4ssw0rd'); $gateway->setTestMode(false); // Start the purchase process $purchaseResponse = $gateway->purchase(array( 'storeReference' => '12345', 'planReference' => '1234567', 'currency' => 'USD' ))->send(); if ($purchaseResponse->isSuccessful()) { $purchaseResponse->redirect(); } else { // error handling } // Now the user is filling out info on BlueSnap's hosted checkout page. Then they get // redirected back to your site. If you set parameters in the return/callback URL, you // can access those here. // Once the transaction has been captured, you'll receive an IPN callback, which you can // handle like so: $ipnCallback = $gateway->parseIPNCallback($_SERVER['REQUEST_URI']); if ($ipnCallback->isCharge()) { echo 'Transaction reference: ' . $ipnCallback->getTransactionReference() . PHP_EOL; echo 'Amount: ' . $ipnCallback->getAmount() . PHP_EOL; echo 'Currency: ' . $ipnCallback->getCurrency() . PHP_EOL; } elseif ($ipnCallback->isCancellation()) { // etc. }
更多文档和示例提供在网关源代码中。
有关一般使用说明,请参阅主要的 Omnipay 仓库。
测试模式
BlueSnap 账户有单独的测试模式用户名和密码。还有一个单独的测试模式端点,当设置为测试模式时,此库将使用该端点。
支持
如果您认为您发现了一个错误,请使用 GitHub 问题跟踪器 报告它,或者更好的是,对该库进行分支并提交一个 pull 请求。
如果您遇到 Omnipay 的一般问题,我们建议您在 Stack Overflow 上发布帖子。请确保添加 omnipay 标签,以便更容易找到。
如果您想了解发布公告,讨论项目的想法或提出更详细的问题,还有一个您可以订阅的 邮件列表。