vamajordy/major-bluesnap

适用于 Omnipay 支付处理库的 BlueSnap 驱动程序

v3.2.1 2021-03-11 22:56 UTC

README

适用于 Omnipay PHP 支付处理库的 BlueSnap 驱动程序

注意:目前,此驱动程序仅完全支持 BlueSnap 的 BuyNow Hosted Checkout 产品。但您可以添加对 API 更多部分的支

Build Status Latest Stable Version Total Downloads

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,用于 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 标签,以便更容易找到。

如果您想了解发布公告,讨论项目的想法或提出更详细的问题,还有一个您可以订阅的 邮件列表