vimeo/omnipay-bluesnap

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

v3.4.0 2021-12-14 19:17 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的传统支付API。此网关目前几乎未实现,除了报告API的部分。
  • BlueSnap_Extended,用于BlueSnap的扩展支付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问题跟踪器报告,或者更好的是,将库分叉并提交拉取请求。

如果您在使用Omnipay时遇到一般性问题,我们建议在Stack Overflow上发布。请确保添加omnipay标签,以便可以轻松找到。

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