2017 © Pedro PelĆ”ez
 

library payment

PHP Payment Library For MundiPAGG and PagarMe

image

phpbook/payment

PHP Payment Library For MundiPAGG and PagarMe

  • Wednesday, July 4, 2018
  • by phpbook
  • Repository
  • 0 Watchers
  • 1 Stars
  • 4 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

About Payment

  • A lightweight Payment Gateway PHP library available for PagarMe and MundiPagg.

Composer Install

composer require phpbook/payment

Declare Configurations


/******************************************** * * Declare Configurations * * ******************************************/ //Driver gateway PagarMe \PHPBook\Payment\Configuration\Payment::setGateway('main', (new \PHPBook\Payment\Configuration\Gateway) ->setName('Main') ->setExceptionCatcher(function(String $message) { //the PHPBook Payment does not throw exceptions, but you can take it here //you can store $message in database or something else }) ->setDriver((new \PHPBook\Payment\Driver\PagarMe)->setKey('key')->setKeyVersion('v2017-08-28')) ); //Driver gateway MundiPagg \PHPBook\Payment\Configuration\Payment::setGateway('backups', (new \PHPBook\Payment\Configuration\Gateway) ->setName('Backups') ->setExceptionCatcher(function(String $message) { //the PHPBook Payment does not throw exceptions, but you can take it here //you can store $message in database or something else }) ->setDriver((new \PHPBook\Payment\Driver\MundiPagg)->setKey('key')) ); //Set default gateway by gateway code \PHPBook\Payment\Configuration\Payment::setDefault('main'); //Getting gateways $gateways = \PHPBook\Payment\Configuration\Payment::getGateways(); foreach($gateways as $code => $gateway) { $gateway->getName(); $gateway->getDriver(); }; ?>

Transactions



/************************************************* * * Create Customer * You cannot update customer here, only create * * ***********************************************/ $customer = (new \PHPBook\Payment\Customer) ->setToken(null) //gateway defines when create ->setName('Jhon Doe') ->setEmail('jhon@email.com') ->setIdentity('16815587002') ->setPhone('999999999') ->setPhoneLocal('47') ->setPhoneCountry('55'); //getting customer attributes $customer->getToken(); $customer->getName(); $customer->getEmail(); $customer->getIdentity(); $customer->getPhone(); $customer->getPhoneLocal(); $customer->getPhoneCountry(); (new \PHPBook\Payment\Transaction\Customer\Create) ->setCustomer($customer) ->create(); //filled when customer is successfully created if ($customer->getToken()) { //$customer }; /************************************************* * * Get Customer By Token * * ***********************************************/ $customerToken = '0001'; $customer = (new \PHPBook\Payment\Transaction\Customer\Get) ->setToken($customerToken) ->get(); //filled with customer if ($customer) { //$customer }; /************************************************* * * Create Card * You cannot update card here, only create * * ***********************************************/ $number = '000000000000'; $cvv = '123'; $name = 'JHON DOE'; $month = '01'; $year = '20'; $cardToken = (new \PHPBook\Payment\Transaction\Card\Create) ->setCustomerToken($customerToken) ->setCard($number, $cvv, $name, $month, $year) ->create(); //filled when card is successfully created if ($cardToken) { //$cardToken }; /************************************************* * * Create Charge * You cannot update charge here, only create * * ***********************************************/ /********************************************************/ /* Create Charge with Created Customer and Created Card */ /********************************************************/ $customerToken = '0001'; $cardToken = '0001'; $chargeMeta = 'billing-10'; $chargePriceCents = 100; $chargeShippingAddressStreet = 'PraƧa Gov. Irineu Bornhausen'; $chargeShippingAddressNumber = '100'; $chargeShippingAddressNeighborhood = 'Centro'; $chargeShippingAddressZipCode = '88310000'; $chargeShippingAddressCity = 'Itajaƭ'; $chargeShippingAddressState = 'SC'; $chargeShippingAddressCountry = 'BR'; $customer = (new \PHPBook\Payment\Transaction\Customer\Get) ->setToken($customerToken) ->get(); //if you need you can update customer informations in the gateway $customer->setName('name'); $charge = (new \PHPBook\Payment\Charge) ->setToken(null) //gateway defines when create ->setMeta($chargeMeta) ->setPriceCents($chargePriceCents) ->setShippingAddressStreet($chargeShippingAddressStreet) ->setShippingAddressNumber($chargeShippingAddressNumber) ->setShippingAddressNeighborhood($chargeShippingAddressNeighborhood) ->setShippingAddressZipCode($chargeShippingAddressZipCode) ->setShippingAddressCity($chargeShippingAddressCity) ->setShippingAddressState($chargeShippingAddressState) ->setShippingAddressCountry($chargeShippingAddressCountry); (new \PHPBook\Payment\Transaction\Charge\Create) ->setCustomer($customer) ->setCardToken($cardToken) ->setCharge($charge) ->create(); //filled when charge is successfully created if ($charge->getToken()) { $charge->getStatus(); //filled with new status }; /****************************************************/ /* Create Charge with Created Customer and New Card */ /****************************************************/ $customerToken = '0001'; $cardNumber = '000000000000'; $cardCvv = '123'; $cardName = 'JHON DOE'; $cardMonth = '01'; $cardYear = '20'; $chargeMeta = 'billing-10'; $chargePriceCents = 100; $chargeShippingAddressStreet = 'PraƧa Gov. Irineu Bornhausen'; $chargeShippingAddressNumber = '100'; $chargeShippingAddressNeighborhood = 'Centro'; $chargeShippingAddressZipCode = '88310000'; $chargeShippingAddressCity = 'Itajaƭ'; $chargeShippingAddressState = 'SC'; $chargeShippingAddressCountry = 'BR'; $customer = (new \PHPBook\Payment\Transaction\Customer\Get) ->setToken($customerToken) ->get(); $cardToken = (new \PHPBook\Payment\Transaction\Card\Create) ->setCustomerToken($customerToken) ->setCard($cardNumber, $cardCvv, $cardName, $cardMonth, $cardYear) ->create(); //filled when card is successfully created if ($cardToken) { //if you need you can update customer informations in the gateway $customer->setName('name'); $charge = (new \PHPBook\Payment\Charge) ->setToken(null) //gateway defines when create ->setMeta($chargeMeta) ->setPriceCents($chargePriceCents) ->setShippingAddressStreet($chargeShippingAddressStreet) ->setShippingAddressNumber($chargeShippingAddressNumber) ->setShippingAddressNeighborhood($chargeShippingAddressNeighborhood) ->setShippingAddressZipCode($chargeShippingAddressZipCode) ->setShippingAddressCity($chargeShippingAddressCity) ->setShippingAddressState($chargeShippingAddressState) ->setShippingAddressCountry($chargeShippingAddressCountry); (new \PHPBook\Payment\Transaction\Charge\Create) ->setCustomer($customer) ->setCardToken($cardToken) ->setCharge($charge) ->create(); //filled when charge is successfully created if ($charge->getToken()) { $charge->getStatus(); //filled with new status }; }; /************************************************/ /* Create Charge with New Customer and New Card */ /************************************************/ $name = 'Jhon Doe'; $email = 'jhon@email.com'; $identity = '01684848421'; $phone = '999999999999'; $phoneLocal = '47'; $phoneCountry = '55'; $cardNumber = '000000000000'; $cardCvv = '123'; $cardName = 'JHON DOE'; $cardMonth = '01'; $cardYear = '20'; $chargeMeta = 'billing-10'; $chargePriceCents = 100; $chargeShippingAddressStreet = 'PraƧa Gov. Irineu Bornhausen'; $chargeShippingAddressNumber = '100'; $chargeShippingAddressNeighborhood = 'Centro'; $chargeShippingAddressZipCode = '88310000'; $chargeShippingAddressCity = 'Itajaƭ'; $chargeShippingAddressState = 'SC'; $chargeShippingAddressCountry = 'BR'; $customer = (new \PHPBook\Payment\Customer) ->setToken(null) //gateway defines when create ->setName($name) ->setEmail($email) ->setIdentity($identity) ->setPhone($phone) ->setPhoneLocal($phoneLocal) ->setPhoneCountry($phoneCountry); (new \PHPBook\Payment\Transaction\Customer\Create) ->setCustomer($customer) ->create(); //filled when customer is successfully created if ($customer->getToken()) { $cardToken = (new \PHPBook\Payment\Transaction\Card\Create) ->setCustomerToken($customer->getToken()) ->setCard($cardNumber, $cardCvv, $cardName, $cardMonth, $cardYear) ->create(); //filled when card is successfully created if ($cardToken) { $charge = (new \PHPBook\Payment\Charge) ->setToken(null) //gateway defines when create ->setMeta($chargeMeta) ->setPriceCents($chargePriceCents) ->setShippingAddressStreet($chargeShippingAddressStreet) ->setShippingAddressNumber($chargeShippingAddressNumber) ->setShippingAddressNeighborhood($chargeShippingAddressNeighborhood) ->setShippingAddressZipCode($chargeShippingAddressZipCode) ->setShippingAddressCity($chargeShippingAddressCity) ->setShippingAddressState($chargeShippingAddressState) ->setShippingAddressCountry($chargeShippingAddressCountry); (new \PHPBook\Payment\Transaction\Charge\Create) ->setCustomer($customer) ->setCardToken($cardToken) ->setCharge($charge) ->create(); //filled when charge is successfully created if ($charge->getToken()) { $charge->getStatus(); //filled with new status }; }; }; /************************************************* * * Working With Charge Attributes and Status * * ***********************************************/ $charge->getToken(); $charge->getMeta(); $charge->getPriceCents(); $charge->getShippingAddressStreet(); $charge->getShippingAddressNumber(); $charge->getShippingAddressNeighborhood(); $charge->getShippingAddressZipCode(); $charge->getShippingAddressCity(); $charge->getShippingAddressState(); $charge->getShippingAddressCountry(); switch($charge->getStatus()) { case \PHPBook\Payment\Charge::$STATUS_COMPLETE: //complete break; case \PHPBook\Payment\Charge::$STATUS_WAITING: //waiting break; case \PHPBook\Payment\Charge::$STATUS_DENY: //deny break; case \PHPBook\Payment\Charge::$STATUS_REFUNDED: //refunded break; case \PHPBook\Payment\Charge::$STATUS_IDLE: //initial status break; }; /************************************************* * * Get Charge By Token * * ***********************************************/ $chargeToken = '00001'; $charge = (new \PHPBook\Payment\Transaction\Charge\Get) ->setToken($chargeToken) ->get(); /************************************************* * * Get List of Charges By Meta * * ***********************************************/ $meta = 'billing-10'; $charges = (new \PHPBook\Payment\Transaction\Charge\Meta\Get) ->setMeta($meta) ->get(); /************************************************* * * Refund Charge * * ***********************************************/ $chargeToken = '00001'; $charge = (new \PHPBook\Payment\Transaction\Charge\Get) ->setToken($chargeToken) ->get(); (new \PHPBook\Payment\Transaction\Charge\Refund) ->setCharge($charge) ->refund(); $charge->getStatus(); //filled with new status. You should expect the refunded status

The Versions

04/07 2018

dev-master

9999999-dev https://github.com/phpbook-sources/payment

PHP Payment Library For MundiPAGG and PagarMe

  Sources   Download

MIT

The Requires

  • php >=7.1.0

 

by Avatar phpbook

php payment gateway lightweight fast

04/07 2018

1.0.2

1.0.2.0 https://github.com/phpbook-sources/payment

PHP Payment Library For MundiPAGG and PagarMe

  Sources   Download

MIT

The Requires

  • php >=7.1.0

 

by Avatar phpbook

php payment gateway lightweight fast

14/06 2018

1.0.1

1.0.1.0 https://github.com/phpbook-sources/payment

PHP Payment Library For MundiPAGG e PagarMe

  Sources   Download

MIT

The Requires

 

by Avatar phpbook

php payment gateway lightweight fast

14/06 2018

1.0.0

1.0.0.0 https://github.com/phpbook-sources/payment

PHP Payment Library For MundiPAGG e PagarMe

  Sources   Download

MIT

The Requires

 

by Avatar phpbook

php payment gateway lightweight fast