digistorm / omnipay-braintree
分叉:Omnipay支付处理库的Braintree网关
Requires
- braintree/braintree_php: ^3.0
- omnipay/common: ^3
Requires (Dev)
- omnipay/tests: ^3
This package is auto-updated.
Last update: 2024-09-22 10:34:19 UTC
README
Braintree PHP支付处理库的网关驱动程序
Omnipay 是一个与框架无关、多网关的PHP 7.2+支付处理库。本软件包实现了Omnipay对Braintree的支持。
安装
Omnipay通过 Composer 安装。要安装,只需将其添加到您的 composer.json
文件中
composer require omnipay/braintree:"~4.0@dev"
基本用法
本软件包提供以下网关
- Braintree
您需要设置您的 merchantId
、publicKey
和 privateKey
。将 testMode
设置为 true 将使用 sandbox
环境。
此网关仅支持通过令牌(支付nonce)进行购买。您可以为JavaScript生成一个clientToken
$clientToken = $gateway->clientToken()->send()->getToken();
生成的令牌在使用JavaScript SDK显示Drop-in支付UI或用于收集支付方式信息的托管字段时非常有用。
在成功提交支付表单后,一个一次性令牌会被动态添加到表单中,作为隐藏的 payment_method_nonce
输入字段的值,该令牌引用您客户提供的支付方式,例如信用卡或PayPal账户。
使用 payment_method_nonce
处理您的客户订单,如下所示
$response = $gateway->purchase([ 'amount' => '10.00', 'token' => $_POST['payment_method_nonce'] ])->send();
有关一般使用说明,请参阅主要的 Omnipay 仓库。
驱动程序特定用法
创建客户
$customer = $gateway->createCustomer([ 'customerData' => [ 'id' => 1, 'firstName' => 'John', 'lastName' => 'Doe' ] ])->send();
您可以在此处找到完整选项列表 这里.
查找客户(通过ID)
$customer = $gateway->findCustomer(1)->send();
您可以在此处找到完整选项列表 这里
创建支付方式
$method = $gateway->createPaymentMethod([ 'customerId' => $user->getId(), 'paymentMethodNonce' => 'paymentnonce', 'options' => [ 'verifyCard' => true ] ]);
您可以在此处找到完整选项列表 这里.
更新支付方式
$method = $gateway->updatePaymentMethod([ 'paymentMethodToken' => 'token123', 'options' => [ 'paymentMethodNonce' => 'paymentnonce' ] ]);
您可以在此处找到完整选项列表 这里.
创建订阅
$subscription = $gateway->createSubscription([ 'subscriptionData' => [ 'paymentMethodToken' => 'payment_method_token', 'planId' => 'weekly', 'price' => '30.00' ] ])->send();
您可以在此处找到完整选项列表 这里
取消订阅
$subscription = $gateway->cancelSubscription('id')->send();
您可以在此处找到完整选项列表 这里
解析webhook通知
$notification = $gateway->parseNotification([ 'bt_signature' => 'signature', 'bt_payload' => 'payload' ])->send();
您可以在此处找到完整选项列表 这里
支持
如果您在使用Omnipay时遇到一般问题,我们建议您在 Stack Overflow 上发表帖子。请确保添加 omnipay 标签,以便可以轻松找到。
如果您想及时了解发布公告、讨论项目想法或提出更详细的问题,您还可以订阅一个邮件列表。
如果您认为您发现了一个bug,请使用GitHub问题追踪器进行报告,或者更好的做法是,Fork这个库并提交一个pull请求。