digistorm/omnipay-braintree

分叉:Omnipay支付处理库的Braintree网关

v2.0-beta 2018-11-09 08:39 UTC

This package is auto-updated.

Last update: 2024-09-22 10:34:19 UTC


README

Braintree PHP支付处理库的网关驱动程序

Build Status Latest Stable Version Total Downloads

Omnipay 是一个与框架无关、多网关的PHP 7.2+支付处理库。本软件包实现了Omnipay对Braintree的支持。

安装

Omnipay通过 Composer 安装。要安装,只需将其添加到您的 composer.json 文件中

composer require omnipay/braintree:"~4.0@dev"

基本用法

本软件包提供以下网关

  • Braintree

您需要设置您的 merchantIdpublicKeyprivateKey。将 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请求。