noetix/pin-php

Pin Payment API Library

v2.0.1 2016-06-06 11:32 UTC

This package is auto-updated.

Last update: 2024-04-26 05:32:55 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads Build Status Scrutinizer Code Quality SensioLabsInsight License

About

Pin is Australia’s first all-in-one payment API.

  • PHP 5.3+ Library
  • Curl Transport (via Buzz)

Installation

Download the project from GitHub. Once downloaded, you'll need to use Composer.

Make sure to include the class autoload file.

include 'vendor/autoload.php';

Examples

Charges

This example will charge $4.00 (API requires amount to be provided in cents) against a test credit card on the live API. To use the testing/sandbox API, see the example below.

This is an example using the Pin Payments Charges API:

<?php

// create our request handler
$service = new Pin\Handler(array('key' => 'secret_API_key'));

// build a new charge request
$request = new Pin\Charge\Create(array(
    'amount'      => 400,
    'description' => 'test charge',
    'email'       => 'roland@pin.net.au',
    'ip_address'  => '203.192.1.172',
    'card'        => array(
        'number'           => '5520000000000000',
        'expiry_month'     => '05',
        'expiry_year'      => '2013',
        'cvc'              => '123',
        'name'             => 'Roland Robot',
        'address_line1'    => '42 Sevenoaks St',
        'address_city'     => 'Lathlain',
        'address_postcode' => '6454',
        'address_state'    => 'WA',
        'address_country'  => 'AU'),
));

// send it
$response = $service->submit($request);

Refunds

This is a simple example on how to process refunds.

This uses the Pin Payments Refund API:

$request = new Pin\Charge\Refund('charge_token_here', array('amount'=>'900'));

Live API vs the Test API

This example shows how to add an option so you use the test API (test-api.pin.net.au) instead of the live one.

<?php

$service = new Pin\Handler(array('key' => 'secret_API_key', 'test' => true));