braintree / braintree_php
Braintree PHP 客户端库
Requires
- php: >=7.3.0
- ext-curl: *
- ext-dom: *
- ext-hash: *
- ext-openssl: *
- ext-xmlwriter: *
Requires (Dev)
- phpunit/phpunit: ^9.0
- squizlabs/php_codesniffer: ^3.0
- dev-master
- 6.20.0
- 6.19.0
- 6.18.0
- 6.17.0
- 6.16.0
- 6.15.0
- 6.14.0
- 6.13.0
- 6.12.0
- 6.11.2
- 6.11.1
- 6.11.0
- 6.10.0
- 6.9.1
- 6.9.0
- 6.8.0
- 6.7.0
- 6.6.0
- 6.5.1
- 6.5.0
- 6.4.1
- 6.4.0
- 6.3.0
- 6.2.0
- 6.1.0
- 6.0.0
- 5.5.0
- 5.4.0
- 5.3.1
- 5.3.0
- 5.2.0
- 5.1.0
- 5.0.0
- 4.8.0
- 4.7.0
- 4.6.0
- 4.5.0
- 4.4.0
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.0
- 3.40.0
- 3.39.0
- 3.38.0
- 3.37.0
- 3.36.0
- 3.35.0
- 3.34.0
- 3.33.0
- 3.32.0
- 3.31.0
- 3.30.0
- 3.29.0
- 3.28.0
- 3.27.0
- 3.26.1
- 3.26.0
- 3.25.0
- 3.24.0
- 3.23.1
- 3.23.0
- 3.22.0
- 3.21.1
- 3.21.0
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.0
- 3.15.0
- 3.14.0
- 3.13.0
- 3.12.0
- 3.11.0
- 3.10.0
- 3.9.0
- 3.8.0
- 3.7.0
- 3.6.1
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.1
- 3.0.0
- 2.40.1
- 2.40.0
- 2.39.0
- 2.38.0
- 2.38.0-beta.1
- 2.37.0
- 2.36.0
- 2.35.2
- 2.35.1
- 2.35.0
- 2.34.0
- 2.33.0
- 2.32.0
- 2.31.1
- 2.31.0
- 2.30.0
- 2.29.0
- 2.28.0
- 2.27.2
- 2.27.1
- 2.27.0
- 2.26.0
- 2.25.1
- 2.25.0
- 2.24.0
- 2.23.1
- 2.23.0
- 2.22.2
- 2.22.1
- 2.22.0
- 2.21.0
- 2.20.0
- 2.19.0
- 2.18.0
- 2.17.0
- 2.16.0
- 2.15.0
- 2.14.1
This package is auto-updated.
Last update: 2024-09-19 21:29:33 UTC
README
Braintree PHP 库提供了对 Braintree 门户的集成访问。
需要 TLS 1.2
支付卡行业(PCI)委员会已强制淘汰早期版本的 TLS。所有处理信用卡信息的组织都必须遵守此标准。作为这项义务的一部分,Braintree 已更新其服务,要求所有 HTTPS 连接使用 TLS 1.2。Braintree 需要 HTTP/1.1 进行所有连接。有关更多信息,请参阅我们的技术文档。
依赖项
以下 PHP 扩展是必需的
- curl
- dom
- hash
- openssl
- xmlwriter
需要 PHP 版本 >= 7.3。Braintree PHP SDK 已针对 PHP 版本 7.3 和 7.4 以及 8.0 进行测试。
PHP 核心开发社区已发布 PHP 版本 5.4 - 7.2 的生命终止分支,并且不再接收安全更新。因此,Braintree 不支持这些 PHP 版本。
版本
Braintree 对我们的 SDK 采用弃用策略。有关 SDK 状态的更多信息,请参阅我们的开发者文档。
文档
从本 SDK 的非活动、已弃用或不受支持版本更新?请查看我们的迁移指南以获取提示。
快速入门示例
<?php require_once 'PATH_TO_BRAINTREE/lib/Braintree.php'; // Instantiate a Braintree Gateway either like this: $gateway = new Braintree\Gateway([ 'environment' => 'sandbox', 'merchantId' => 'your_merchant_id', 'publicKey' => 'your_public_key', 'privateKey' => 'your_private_key' ]); // or like this: $config = new Braintree\Configuration([ 'environment' => 'sandbox', 'merchantId' => 'your_merchant_id', 'publicKey' => 'your_public_key', 'privateKey' => 'your_private_key' ]); $gateway = new Braintree\Gateway($config) // Then, create a transaction: $result = $gateway->transaction()->sale([ 'amount' => '10.00', 'paymentMethodNonce' => $nonceFromTheClient, 'deviceData' => $deviceDataFromTheClient, 'options' => [ 'submitForSettlement' => True ] ]); if ($result->success) { print_r("success!: " . $result->transaction->id); } else if ($result->transaction) { print_r("Error processing transaction:"); print_r("\n code: " . $result->transaction->processorResponseCode); print_r("\n text: " . $result->transaction->processorResponseText); } else { foreach($result->errors->deepAll() AS $error) { print_r($error->code . ": " . $error->message . "\n"); } }
命名空间
从主要版本 5.x.x 开始,仅支持 PSR-4 命名空间。这意味着您必须使用 PSR-4 命名空间来引用类。
$gateway = new Braintree\Gateway([ 'environment' => 'sandbox', 'merchantId' => 'your_merchant_id', 'publicKey' => 'your_public_key', 'privateKey' => 'your_private_key' ]); // or $config = new Braintree\Configuration([ 'environment' => 'sandbox', 'merchantId' => 'your_merchant_id', 'publicKey' => 'your_public_key', 'privateKey' => 'your_private_key' ]); $gateway = new Braintree\Gateway($config)
Google App Engine 支持
当使用 Google App Engine 时,请在您的 php.ini
文件中包含 curl 扩展(有关更多信息,请参阅 #190)
extension = "curl.so"
并关闭接受 gzip 响应
$gateway = new Braintree\Gateway([ 'environment' => 'sandbox', // ... 'acceptGzipEncoding' => false, ]);
开发(Docker)
Makefile
和 Dockerfile
将构建包含依赖关系的镜像,并将您带到终端,您可以在其中运行测试。
make
代码风格检查
Rakefile 包含运行 PHP Code Sniffer 和 PHP Code Beautifier & Fixer 的命令。要运行代码风格检查命令,请使用 rake
rake lint:fix # runs the auto-fixer first, then sniffs for any remaining code smells rake lint:sniff[y] # gives a detailed report of code smells
测试
单元规范可以在任何系统上由任何人运行,但集成规范旨在针对我们网关代码的本地开发服务器运行。这些集成规范不适用于公共消费,并且在您的系统上运行时可能会失败。要运行单元测试,请使用 rake:rake test:unit
。
要运行代码风格检查和所有测试,请使用 rake:rake test
。
许可协议
请参阅 LICENSE 文件。