alxlab-zone66x / beanstream
Beanstream PHP API
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-09 22:07:18 UTC
README
为Bambora NA支付API准备的Composer ready PHP封装。
此分支包含PHP 8及更高版本的正确修复。
安装
推荐使用Composer安装库。
- 将以下json添加到您的composer.json文件中
{ "require": { "beanstream/beanstream": "dev-master" } }
- 接下来,在命令行中运行以下命令
composer install
- 最后,将此行添加到将要使用SDK的php文件中
require 'vendor/autoload.php';
异常处理
如果服务器返回意外的响应或错误,PHP API会抛出\Beanstream\Exception。
正错误代码对应于Beanstream API错误,请参阅Bambora NA支付API
负代码对应于cURL错误(原始cURL错误代码为正数,在\Beanstream\Exception中这些只是相反)。错误代码为零的异常是PHP API特定的,例如curl扩展是必需的或意外的响应格式。
通常,任何失败的请求,例如数据不足或交易拒绝,都会导致\Beanstream\Exception,因此建议使用try..catch捕获和处理它们,请参阅以下示例。
您的第一个集成
<?php require 'vendor/autoload.php'; $merchant_id = ''; //INSERT MERCHANT ID (must be a 9 digit string) $api_key = ''; //INSERT API ACCESS PASSCODE $api_version = 'v1'; //default $platform = 'api'; //default //Create Beanstream Gateway $beanstream = new \Beanstream\Gateway($merchant_id, $api_key, $platform, $api_version); //Example Card Payment Data $payment_data = array( 'order_number' => 'a1b2c3', 'amount' => 1.00, 'payment_method' => 'card', 'card' => array( 'name' => 'Mr. Card Testerson', 'number' => '4030000010001234', 'expiry_month' => '07', 'expiry_year' => '22', 'cvd' => '123' ) ); $complete = TRUE; //set to FALSE for PA //Try to submit a Card Payment try { $result = $beanstream->payments()->makeCardPayment($payment_data, $complete); /* * Handle successful transaction, payment method returns * transaction details as result, so $result contains that data * in the form of associative array. */ } catch (\Beanstream\Exception $e) { /* * Handle transaction error, $e->code can be checked for a * specific error, e.g. 211 corresponds to transaction being * DECLINED, 314 - to missing or invalid payment information * etc. */ }
请参阅examples.php以获取更多示例。
提示
身份验证
Beanstream为支付、配置文件和报告API请求定义了不同的API访问密码。您可以使用相同的值对它们进行操作,并创建一个\Beanstream\Gateway的实例。您也可以为每种请求类型初始化单独的\Beanstream\Gateway实例。API访问密码通过Beanstream仪表板进行配置(请参阅支付和搜索密码的管理 -> 帐户设置 -> 订单设置,配置文件密码的配置 -> 支付配置文件配置)。
账单地址省份
Beanstream要求提交的省份字段与账单数据一起为两位字母代码。只有在指定的国家为US或CA时才需要它,对于其他国家代码,即使相应的国家有州或省份,也将其设置为--(两个短横线)。
向后兼容性
默认的$platform
值分配为'api'
,它将您的请求发送到端点'api.na.bambora.com'
。为确保向后兼容性,您可以将$platform = 'www'
,这将使您的请求发送到旧端点'www.beanstream.com/api'
。
确保TLS 1.2-Only兼容性
如果您想测试与LIVE TLS 1.2-only环境的兼容性,请将$platform = 'tls12-api'
分配给而不是'api'
;这将使您的请求指向端点'tls12-api.na.bambora.com'
。请注意,此端点仅提供有限时间,并且仅用于集成兼容性测试,不用于任何类型的负载测试。更多信息可以在Bambora北美知识库中找到。