omnipay / braintree
Braintree网关用于Omnipay支付处理库
Requires
- braintree/braintree_php: ^3.0
- omnipay/common: ^3
Requires (Dev)
- omnipay/tests: ^3
README
Braintree PHP支付处理库Omnipay的驱动程序
Omnipay是一个与框架无关的多网关支付处理库,适用于PHP 7.2+。此包实现了Omnipay的Braintree支持。
安装
Omnipay通过Composer安装。要安装,只需将其添加到您的composer.json
文件中。
composer require omnipay/braintree:"~4.0@dev"
基本用法
此包提供以下网关
- Braintree
您需要设置您的merchantId
、publicKey
和privateKey
。将testMode
设置为true将使用sandbox
环境。
此网关仅支持通过令牌(支付非ces)进行购买。您可以生成用于JavaScript的clientToken
$clientToken = $gateway->clientToken()->send()->getToken();
生成的令牌在您使用JavaScript SDK显示Drop-in支付UI或用于收集支付方式信息的托管字段时非常有用。
在成功提交支付表单后,将动态地将引用客户提供的支付方式(如信用卡或PayPal帐户)的一次性使用令牌添加到表单中,作为隐藏的payment_method_nonce
输入字段的值。
使用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标签,以便它可以轻松找到。
如果您想及时了解发布公告、讨论项目的想法或提出更详细的问题,还可以订阅一个邮件列表。
如果您认为您发现了一个错误,请使用GitHub问题跟踪器来报告它,或者更好的做法是分叉库并提交一个拉取请求。