Pagar.Me gateway for the Omnipay PHP payment processing library
Omnipay is a framework agnostic, multi-gateway payment processing library for PHP 5.3+. This package implements Pagar.Me support for Omnipay.
Via Composer
$ composer require descubraomundo/omnipay-pagarme
The following gateways are provided by this package:
For general usage instructions, please see the main Omnipay repository.
// Create a gateway for the Pagarme Gateway
// (routes to GatewayFactory::create)
$gateway = Omnipay::create('Pagarme');
// Initialise the gateway
$gateway->initialize(array(
'apiKey' => 'MyApiKey',
));
// Create a credit card object
// This card can be used for testing.
$card = new CreditCard(array(
'firstName' => 'Example',
'lastName' => 'Customer',
//'name' => 'Example Customer',
'birthday' => '1988-02-28',
'gender' => 'M',
'number' => '4242424242424242',
'expiryMonth' => '01',
'expiryYear' => '2020',
'cvv' => '123',
'email' => '[email protected]',
'address1' => 'Street name, Street number, Complementary',
'address2' => 'Neighborhood',
'postcode' => '05443100',
'phone' => '19 3242 8855',
'holder_document_number' => '246.375.149-23', // CPF or CNPJ
));
// Do an authorize transaction on the gateway
$transaction = $gateway->authorize(array(
'amount' => '10.00',
'soft_descriptor' => 'test', // 13 characters allowed
'payment_method' => 'credit_card',
'installments' => 5,
'postback_url' => 'http://application.com/api/',
'card' => $card,
// 'card_hash' => 'card_k5sT...',
// 'card_id' => 254786,
'metadata' => array(
'product_id' => 'ID1111',
'invoice_id' => 'IV2222',
),
));
$response = $transaction->send();
if ($response->isSuccessful()) {
echo "Authorize transaction was successful!\n";
$sale_id = $response->getTransactionReference();
$customer_id = $response->getCustomerReference();
$card_id = $response->getCardReference();
echo "Transaction reference = " . $sale_id . "\n";
}
// Create a gateway for the Pagarme Gateway
// (routes to GatewayFactory::create)
// Create array with customer data
$customer = array(
'firstName' => 'Example',
'lastName' => 'Customer',
//'name' => 'Example Customer',
'email' => '[email protected]',
'address1' => 'Street name, Street number, Complementary',
'address2' => 'Neighborhood',
'postcode' => '05443100',
'phone' => '19 3242 8855',
'holder_document_number => '246.375.149-23', // CPF or CNPJ
));
// Do an authorize transaction on the gateway
$transaction = $gateway->authorize(array(
'amount' => '10.00',
'soft_descriptor' => 'test',
'payment_method' => 'boleto',
'postback_url' => 'http://application.com/api/',
'customer' => $customer,
'metadata' => array(
'product_id' => 'ID1111',
'invoice_id' => 'IV2222',
),
));
$response = $transaction->send();
if ($response->isSuccessful()) {
echo "Authorize Boleto transaction was successful!\n";
$sale_id = $response->getTransactionReference();
$boleto = $response->getBoleto();
echo "Boleto Url = " . $boleto['boleto_url'];
echo "Boleto Barcode = " . $boleto['boleto_barcode'];
echo "Boleto Expiration Date = " . $boleto['boleto_expiration_date'];
echo "Transaction reference = " . $sale_id . "\n";
}
Read the full Classes Documentation here
Pagar.Me accounts have test-mode API keys as well as live-mode API keys. Data created with test-mode credentials will never hit the credit card networks and will never cost anyone money.
Unlike some gateways, there is no test mode endpoint separate to the live mode endpoint, the Pagar.Me API endpoint is the same for test and for live.
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.
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.
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.
Please see CHANGELOG for more information what has changed recently.
The MIT License (MIT). Please see License File for more information.