[Pre-release] Iveri Enterprise WebAPI Package

Technical questions relating to the iVeri WebService integration

[Pre-release] Iveri Enterprise WebAPI Package

by Stephen Wed Oct 19, 2016 3:27 am
Hello future readers!

As promised (The Big Promise), I have written a composer package for any future PHP developers (or anyone willing to 'port' it over to another language for that matter) who are integrating with IVeri's Enterprise Web API. Please note, this is for the Web API, not the Web Service.

The package does NOT include all the available functions of Iveri's API as of yet. It is a pre-release which contains the lean basics:

  • 3DSecure Lookups via Centinel
  • 3DSecure Authentications via Centinel
  • Debit Transactions via Iveri using Centinel Payloads

Other functions, starting with Credit (Refund) will be added gradually over the coming weeks, unfortunately there are not ETA's as I'm overloaded with projects which pay my bills whereas this isn't earning me a cent.

The usage of the package is aimed to be as fluent and human-readable as possible, following a similar syntax to that of Laravel's framework, an example:

Creating an Iveri configuration instance
Code: Select all
use StephenLake\Iveri\Objects\Configuration;

$configuration = new Configuration;
$configuration->setIveriUserGroupId('<your-user-group>')
              ->setIveriUsername('<your-backoffice-username>')
              ->setIveriPassword('<your-backoffice-password>')
              ->setIveriApplicationId('<your-test-application-id>')
              ->setIveriCertificateId('<your-test-certificate-id>')
              ->setIveriMerchantId('<your-merchant-id>')
              ->setIveriApiLive(false)
              ->setIveriCmpiProcessorId(1000)
              ->setIveriCmpiPassword('<your-cmpi-password>')
              ->build();


Creating a 3DSecure Lookup Instance
Code: Select all
use StephenLake\Iveri\Objects\Transactions\ThreeDomainLookup;
use StephenLake\Iveri\Listeners\TransactionListener;

$ThreeDomainLookup = new ThreeDomainLookup(new TransactionListener());
$ThreeDomainLookup->setTransactionAmount('<amount-in-decimal-format'>)
                  ->setTransactionPanNumber('<pan>')
                  ->setTransactionPanExpiryMonth('<pan-expiry-month>') // MM
                  ->setTransactionPanExpiryYear('<pan-expiry-year>') // YYYY
                  ->setTransactionReference('<unique-transaction-reference>')
                  ->setTransactionCurrency('<currency-iso>') // Alpha ISO
                  ->build();


Listening for events and doing whatever you please with them
Code: Select all
  public function debitPrepared(Transaction $transaction){  }
  public function debitInitiated(Transaction $transaction){ }
  public function debitFailed(Transaction $transaction){
       echo "Ermgerd, a debit transaction failed! Why?!? {$transaction->getTransactionResult()->getErrorMessage()}"
  }
  public function debitSucceeded(Transaction $transaction){
       echo "Ermgerd, a debit transaction succeeded! You just got {$transaction->getTransactionAmount()} Monies!"
  }
  public function threeDomainLookupPrepared(Transaction $transaction){}
  public function threeDomainLookupInitiated(Transaction $transaction){ }
  public function threeDomainLookupFailed(Transaction $transaction){}
  public function threeDomainLookupSucceeded(Transaction $transaction){ }
  public function threeDomainAuthorizePrepared(Transaction $transaction){ }
  public function threeDomainAuthorizeInitiated(Transaction $transaction){ }
  public function threeDomainAuthorizeFailed(Transaction $transaction){}
  public function threeDomainAuthorizeSucceeded(Transaction $transaction){ }


Anyway, you can find the full documentation on GitHub @ https://github.com/stephenlake/iveri

or just pull it into your project directly via composer and get going immediately:
Code: Select all
composer require stephenlake/iveri


The package is available via GitHub, Directly through Composer or the Packagist website.
Posts
11
Joined
Tue Mar 22, 2016 4:03 pm

Jump To