Skip to content

PicPay E-Commerce API Integration: This PHP library provides developers with a simple set of bindings to help you integrate PicPay E-Commerce API to a website and start receiving payments.

Notifications You must be signed in to change notification settings

EwertonDaniel/picpay-e-commerce-php-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Generic badge Generic badge GitHub license Generic badge Twitter

💚 PicPay E-Commerce API Integration 🇧🇷

This library provides developers with a simple set of bindings to help you integrate PicPay E-Commerce API to a website and start receiving payments.

🛠 Requirements

php >= 8.1

guzzlehttp/guzzle >= 7.0.1

echosistema/simple-http-request" >= 1.0.1

📢 Coming soon package to PHP versions < 8.1.

💻 Installation

First time using PicPay? Create your PicPay account in PicPay Studio, if you don’t have one already.

Download Composer if not already installed

On your project directory run on the command line "composer require ewertondaniel/picpay-e-commerce-php-sdk" for PHP 8.1;

That's it! PicPay E-Commerce has been successfully installed!

🧑‍💻 Examples

👤 Create a Customer/Buyer to Payment Order

use EwertonDaniel\PicPay\Customer;

  /**
   * Brazilian CPF and Phone Number can be only numbers or with default mask;
   * The email and phone number fields are optional;
   */
  
        $customer = new Customer();
        $customer->setFirstName('Anakin') // REQUIRED;
            ->setLastName('Skywalker') // REQUIRED;
            ->setEmail('anakin@jediorder.com')) // Optional;
            ->setPhoneNumber('11987654321'))  // Optional;
            ->setDocument('963.237.510-62');  // REQUIRED, Has a CPF validation rule;
            

💲 Create a Payment Order

use EwertonDaniel\PicPay\PicPay;

        $payment = new PicPay('x_picpay_token');
        $payment->setCustomer([
                'first_name' => 'Din',
                'last_name' => 'Djarin',
                'document' => '963.237.510-62'
            ]) // REQUIRED, Array or Customer class;
            ->setReferenceId('MY-ID-0001') //string, call REQUIRED, If you want an auto reference id, please call empty ex.: setReferenceId();
            ->setCallbackUrl('https://my-website.com/notification')  // REQUIRED, Where PicPay will return with POST notification;
            ->setValue(100.00) //float, REQUIRED;
            ->pay();
            

💲 Create a Full Payment Order

use EwertonDaniel\PicPay\PicPay;

        $payment = new PicPay('x_picpay_token');
        $payment->setCustomer([
                'first_name' => 'Din',
                'last_name' => 'Djarin',
                'document' => '963.237.510-62', // It can just be numbers ex.: '96323751062'
                'email'=>'din@mandalorian.com', // Optional
                'phone_number'=>'11987654321' // Optional, It can just be masked ex.: '(11) 98765-4321, (11) 8765-4321 etc...'
            ]) // REQUIRED, Array or Customer class;
            ->setDebug(false) // Optional, (default:false) If you want to debug the request (default false);
            ->setReferenceId('MY-ID-0002') //string, call REQUIRED, If no value is entered, Reference ID will be created automatically, ex.: setReferenceId();
            ->setCallbackUrl('https://my-website.com/notification')  // REQUIRED, Where PicPay will return with POST notification;
            ->setReturnUrl('https://my-website.com/order/MY-ID-0002')  // Optional, (default:null) where customer will be redirected from PicPay Payment Page;
            ->setExpirationDate('2020-09-20') // Optional, (default:null) Format Y-m-d (yyyy-mm-dd);
            ->setSoftDescriptor('Skywalker light-saber') // Optional, (default:null) The soft descriptor is the dynamic text used to construct the statement descriptor that appears on a payer's card statement;
            ->setPurchaseMode('online') // Optional, (default: online, available options [online, in-store]);
            ->setChannel('channel') // Optional, (default:null) If you have another store, take a look in official documentation;
            ->setAutoCapture(true) // Optional, (default:true) Key that will define that this charge will be of the late capture type;
            ->setValue(100.00) //float, REQUIRED
            ->pay()
            

ℹ Get a specific Order Status

use EwertonDaniel\PicPay\Order;

        $order = new Order('x_picpay_token','reference_id');
        $response = $order->status();
        $status =  $response['status'];

Possibles status response when request Order Status:

✔ created: order created;
✔ expired: payment limit date has expired or order cancelled;
✔ analysis: paid and in the process of anti-fraud analysis;
✔ completed: paid and amount available in your PicPay account;
✔ refunded: paid and refunded;
✔ chargeback: paid with chargeback;

❌ Cancel a specific Order

use EwertonDaniel\PicPay\Order;

       $order = new Order('x_picpay_token','reference_id');
       $response = $order->cancel();
       $status = $response['status'];

Possibles cancellation status response:

✔ cancelled: order cancelled;
✔ undefined: unknown status;

📖 Documentation

🔗 Visit the PicPay Studio for further information regarding:

PicPay E-Commerce Official Documentation

About

PicPay E-Commerce API Integration: This PHP library provides developers with a simple set of bindings to help you integrate PicPay E-Commerce API to a website and start receiving payments.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages