transferzero/transferzero-php-sdk

TransferZero Client Library for PHP


README

This is the PHP client library for use with the TransferZero API. To use the API please register and obtain valid API keys on the TransferZero developer portal.

For more information, please visit:

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0
  • Package version: 1.34.4

Requirements

PHP 7.1 and later

Installation & Usage

Composer

To install via Composer, run:

composer require transferzero/transferzero-php-sdk

Then run composer install

New to Composer? Learn more at Composer's Getting Started page

Manual Installation

Download the files and include autoload.php:

require_once('/path/to/TransferZeroSdk/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');

Authentication

Set the API Key and Secret on the Configuration object for authentication:

TransferZero\Configuration::getDefaultConfiguration()
  ->setHost("https://api-sandbox.transferzero.com/v1")
  ->setApiKey("<key>")
  ->setApiSecret("<secret>");

Example

$apiInstance = new TransferZero\Api\APILogsApi();
$api_log_id = 'api_log_id_example'; // string | ID of the API log to retrieve  Example: `/v1/api_logs/00485ce9-532b-45e7-8518-7e5582242407`

try {
    $result = $apiInstance->getApiLog($api_log_id);
    print_r($result);
} catch (Exception $e) {
    if ($e->isValidationError()) {
        $response = $e->getResponseObject();
        echo "Validation error(s) occurred when calling the endpoint";
        print_r($response);
    } else {
        echo "An exception occurred when calling APILogsApi#getApiLog";
        echo $e->getMessage();
    }
}

?>

You can find more examples in the examples directory on the features required by the Onboarding documentation

Webhooks

To parse webhooks you can use the following snippet:

$webhook_content = "{ (...) }"; // The string received through the webhook callback url
$webhook_headers = [
    "Authorization-Nonce" => "<authorization-nonce>",
    "Authorization-Key" => "<authorization-key>",
    "Authorization-Signature" => "<authorization-signature>"
]; // The headers from the webook callback url
$webhook_url = "<url>"; // The url of the webhook callback

$webhooksApi = new TransferZero\Api\WebhooksApi();
if (!$webhooksApi->validateWebhookRequest($webhook_url, $webhook_content, $webhook_headers)) {
    echo "Webhook request validation failed";
    return false;
}

$webhook = $webhooksApi->parseResponseString($webhook_content, 'Webhook');

if (strpos($webhook->getEvent(), 'transaction') === 0) {
    $transactionWebhook = $webhooksApi->parseResponseString($webhook_content, 'TransactionWebhook');
    print_r($transactionWebhook->getObject()->__toString());
} elseif (strpos($webhook->getEvent(), 'recipient') === 0) {
    $recipientWebhook = $webhooksApi->parseResponseString($webhook_content, 'RecipientWebhook');
    print_r($recipientWebhook->getObject()->__toString());
} elseif (strpos($webhook->getEvent(), 'payout_method') === 0) {
    $payoutMethodWebhook = $webhooksApi->parseResponseString($webhook_content, 'PayoutMethodWebhook');
    print_r($payoutMethodWebhook->getObject()->__toString());
} elseif (strpos($webhook->getEvent(), 'sender') === 0) {
    $senderWebhook = $webhooksApi->parseResponseString($webhook_content, 'SenderWebhook');
    print_r($senderWebhook->getObject()->__toString());
} elseif (strpos($webhook->getEvent(), 'document') === 0) {
    $documentWebhook = $webhooksApi->parseResponseString($webhook_content, 'DocumentWebhook');
    print_r($documentWebhook->getObject()->__toString());
}

Documentation for API Endpoints

All URIs are relative to https://api-sandbox.transferzero.com/v1

Class Method HTTP request Description
APILogsApi getApiLog GET /api_logs/{API Log ID} Fetch an individual API log
APILogsApi getApiLogs GET /api_logs Fetch a list of API logs
AccountDebitsApi postAccountsDebits POST /accounts/debits Creating an account debit
AccountValidationApi postAccountValidations POST /account_validations Validates the existence of a bank account or a mobile phone number
AccountsApi getAccount GET /accounts/{Currency} Fetches account balance for specified currrency
AccountsApi getAccounts GET /accounts Fetches account balances for all currencies
CurrencyInfoApi infoCurrencies GET /info/currencies Getting a list of possible requested currencies
CurrencyInfoApi infoCurrenciesIn GET /info/currencies/in Getting a list of possible input currencies
CurrencyInfoApi infoCurrenciesOut GET /info/currencies/out Getting a list of possible output currencies
DocumentsApi getDocument GET /documents/{Document ID} Fetching a document
DocumentsApi getDocuments GET /documents Getting a list of documents
DocumentsApi postDocuments POST /documents Creating a document
LogsApi getWebhookLog GET /logs/{Webhook Log ID} Fetch an individual webhook log
LogsApi getWebhookLogs GET /logs/webhooks Fetch a list of webhook logs
PayinMethodsApi deletePayinMethod DELETE /payin_methods/{PayinMethod ID} Deleting a payin method
PayinMethodsApi getPayinMethod GET /payin_methods/{PayinMethod ID} Fetching a payin method
PayinMethodsApi patchPayinMethod PATCH /payin_methods/{PayinMethod ID} Updating a payin method
PayinMethodsApi retryPayinMethod POST /payin_methods/{PayinMethod ID}/retry Retries PayinMethod
PaymentMethodsApi paymentMethodsIn GET /info/payment_methods/in This method returns possible payin methods.
PaymentMethodsApi paymentMethodsOut GET /info/payment_methods/out This method returns possible payout methods.
PayoutMethodsApi deletePayoutMethod DELETE /payout_methods/{Payout Method ID} Deleting a payout method
PayoutMethodsApi getPayoutMethod GET /payout_methods/{Payout Method ID} Fetching a payout method
PayoutMethodsApi getPayoutMethods GET /payout_methods Listing payout methods
PayoutMethodsApi patchPayoutMethod PATCH /payout_methods/{Payout Method ID} Updating a payout method
PayoutMethodsApi postPayoutMethods POST /payout_methods Creating a payout method
RecipientsApi deleteRecipient DELETE /recipients/{Recipient ID} Cancelling a recipient
RecipientsApi getRecipients GET /recipients Getting a list of recipients with filtering
RecipientsApi patchRecipient PATCH /recipients/{Recipient ID} Updating a recipient
RecipientsApi proofOfPayments GET /recipients/{Recipient ID}/proof_of_payments Returns list of proof of payments
SendersApi deleteSender DELETE /senders/{Sender ID} Deleting a sender
SendersApi getSender GET /senders/{Sender ID} Fetching a sender
SendersApi getSenders GET /senders Listing senders
SendersApi patchSender PATCH /senders/{Sender ID} Updating a sender
SendersApi postSenders POST /senders Creating a sender
TransactionsApi calculateTransactions POST /transactions/calculate Calculates transaction amounts for a transaction payload
TransactionsApi createAndFundTransaction POST /transactions/create_and_fund Creates a new transaction and funds it from account balance
TransactionsApi getTransaction GET /transactions/{Transaction ID} Fetch a single transaction
TransactionsApi getTransactions GET /transactions Get a list of transactions
TransactionsApi payinTransaction POST /transactions/{Transaction ID}/payin Creates a fake payin for transaction
TransactionsApi payoutTransaction POST /transactions/{Transaction ID}/payout Creates a fake payout for transaction
TransactionsApi postTransactions POST /transactions Creates a new transaction
TransactionsApi validateTransactions POST /transactions/validate Validates a transaction payload
WebhooksApi deleteWebhook DELETE /webhooks/{Webhook ID} Unsubscribing from a webhook
WebhooksApi getWebhook GET /webhooks/{Webhook ID} Find a webhook's details
WebhooksApi getWebhookEvents GET /webhooks/events Find possible webhook events
WebhooksApi getWebhooks GET /webhooks Listing webhooks
WebhooksApi postWebhooks POST /webhooks Creating a webhook

Documentation For Models