Omnipay: Braintree
Braintree driver for the Omnipay PHP payment processing library, (*1)
, (*2)
Omnipay is a framework agnostic, multi-gateway payment
processing library for PHP 7.2+. This package implements Braintree support for Omnipay., (*3)
Installation
Omnipay is installed via Composer. To install, simply add it
to your composer.json
file:, (*4)
composer require omnipay/braintree:"~4.0@dev"
Basic Usage
The following gateways are provided by this package:, (*5)
You need to set your merchantId
, publicKey
and privateKey
. Setting testMode
to true will use the sandbox
environment., (*6)
This gateway supports purchase through a token (payment nonce) only. You can generate a clientToken for Javascript:, (*7)
$clientToken = $gateway->clientToken()->send()->getToken();
The generated token will come in handy when using the Javascript SDK to display the Drop-in Payment UI or hosted fields used to collect payment method information., (*8)
On successful submission of the payment form, a one-time-use token that references a payment method provided by your customer, such as a credit card or PayPal account is dynamically added to the form as the value of a hidden payment_method_nonce
input field., (*9)
Use the payment_method_nonce
to process your customer order like so:, (*10)
$response = $gateway->purchase([
'amount' => '10.00',
'token' => $_POST['payment_method_nonce']
])->send();
For general usage instructions, please see the main Omnipay
repository., (*11)
Driver specific usage
Create customer
$customer = $gateway->createCustomer([
'customerData' => [
'id' => 1,
'firstName' => 'John',
'lastName' => 'Doe'
]
])->send();
You can find full list of options here., (*12)
Find customer (By ID)
$customer = $gateway->findCustomer(1)->send();
You can find full list of options here, (*13)
Create payment method
$method = $gateway->createPaymentMethod([
'customerId' => $user->getId(),
'paymentMethodNonce' => 'paymentnonce',
'options' => [
'verifyCard' => true
]
]);
You can find full list of options here., (*14)
Update payment method
$method = $gateway->updatePaymentMethod([
'paymentMethodToken' => 'token123',
'options' => [
'paymentMethodNonce' => 'paymentnonce'
]
]);
You can find full list of options here., (*15)
Create subscription
$subscription = $gateway->createSubscription([
'subscriptionData' => [
'paymentMethodToken' => 'payment_method_token',
'planId' => 'weekly',
'price' => '30.00'
]
])->send();
You can find full list of options here, (*16)
Cancel subscription
$subscription = $gateway->cancelSubscription('id')->send();
You can find full list of options here, (*17)
Parse webhook notification
$notification = $gateway->parseNotification([
'bt_signature' => 'signature',
'bt_payload' => 'payload'
])->send();
You can find full list of options here, (*18)
Support
If you are having general issues with Omnipay, we suggest posting on
Stack Overflow. Be sure to add the
omnipay tag so it can be easily found., (*19)
If you want to keep up to date with release anouncements, discuss ideas for the project,
or ask more detailed questions, there is also a mailing list which
you can subscribe to., (*20)
If you believe you have found a bug, please report it using the GitHub issue tracker,
or better yet, fork the library and submit a pull request., (*21)