EBANX Pay PHP
This page's content:
This library enables you to integrate EBANX Pay with any PHP application.
Requirements
- PHP >= 5.6
- cURL
Installation
Composer
The EBANX library is available on Packagist, therefore you can install it by just updating your composer.json file:
{
"require" : {
"ebanx/benjamin-local": "^1.19"
}
}
After that run composer install
, wait for it to finish.
Usage
It is very simple to use Benjamin. You will only need an instance of Ebanx\Benjamin\Models\Configs\Config
:
If you need to change other settings, you can use the following function call:
$config = new Config([
//Config properties
]);
$ebanx = EBANX($config);
Here’s an example of configuration:
$config = new Config([
'integrationKey' => 'YOUR_INTEGRATION_KEY',
'sandboxIntegrationKey' => 'YOUR_SANDBOX_INTEGRATION_KEY',
'isSandbox' => true,
'baseCurrency' => Currency::BRL
]);
You can change the following settings:
Your integration key. This key will only be used on the live environment.
Your sandbox integration key. This key will only be used on the test environment.
Enable or disable the test mode. The default value is false.
The base currency of the trasaction
Here’s an example of payment request:
$payment = new Payment([
'type' => 'boleto',
'address' => new Address([
'address' => 'Rua Rodrigues',
'city' => 'Vila Malena d\'Oeste',
'country' => Country::BRAZIL,
'state' => 'MS',
'streetComplement' => 'Apto 35',
'streetNumber' => '55',
'zipcode' => '10493-222'
]),
'amountTotal' => 48.63,
'deviceId' => 'b2017154beac2625eec083a5d45d872f12dc2c57535e25aa149d3bdb57cbdeb9',
'merchantPaymentCode' => 'a6d690137e32c38db369beed8844e997',
'note' => 'Example payment.',
'person' => new Person([
'type' => 'business',
'birthdate' => new \DateTime('1978-03-29 08:15:51.000000 UTC'),
'document' => '40701766000118',
'email' => 'sdasneves@r7.com',
'ip' => '30.43.84.28',
'name' => 'Sr. Gustavo Fernando Valência',
'phoneNumber' => '(43) 3965-4162'
]),
'items' => [
new Item ([
'sku' => 'S-NDI-359444',
'name' => 'consequuntur perferendis',
'description' => 'Aut aliquid quibusdam quidem neque alias aliquid culpa maxime. Totam voluptatum et fuga nesciunt expedita rerum.',
'unitPrice' => 7.19,
'quantity' => 3,
'type' => 'sed'
]),
new Item ([
'sku' => 'X-LQF-592041',
'name' => 'esse sint',
'description' => 'Eligendi error iusto et ut. Cupiditate sint ut et in vitae non.',
'unitPrice' => 9.02,
'quantity' => 3,
'type' => 'est'
])
],
'responsible' => new Person ([
'type' => 'personal',
'birthdate' => new \DateTime ('1986-06-18 10:18:33 UTC'),
'document' => '38346222653',
'email' => 'alessandra.dominato@galhardo.net',
'ip' => '49.29.237.45',
'name' => 'Luana Aragão Mendes',
'phoneNumber' => '(74) 97063-8157',
]),
'dueDate' => new \DateTime ('2017-05-20 01:47:31 UTC')
]);
$result = EBANX($config)->create($payment);
// Type can also be explicit, like so:
$result = EBANX($config)->boleto()->create($payment);
Here’s an example of response:
Array
(
[payment] => Array
(
[hash] => 591b803da5549b6a1bac524b31e6eef55c2e67af8e40e1e4
[pin] => 670071563
[merchant_payment_code] => 248b2672f000e293268be28d6048d600
[order_number] => null
[status] => PE
[status_date] => null
[open_date] => 2017-05-16 19:42:05
[confirm_date] => null
[transfer_date] => null
[amount_br] => 48.81
[amount_ext] => 48.63
[amount_iof] => 0.18
[currency_rate] => 1.0000
[currency_ext] => BRL
[due_date] => 2018-11-22
[instalments] => 1
[payment_type_code] => boleto
[boleto_url] => https://sandbox.ebanxpay.com/print/?hash=591b803da5549b6a1bac524b31e6eef55c2e67af8e40e1e4
[boleto_barcode] => 34191760071244348372714245740007871600000004881
[boleto_barcode_raw] => 34198716000000048811760012443483721424574000
[pre_approved] => null
[capture_available] => null
[customer] => Array
(
[document] => 40701766000118
[email] => sdasneves@r7.com
[name] => SR GUSTAVO FERNANDO VALENCIA
[birth_date] => 1978-03-28
)
)
[status] => SUCCESS
)
Contributing
Found a bug? Want to add a new feature? Go on and send a pull request to our GitHub repository: