pomelopay/pomelopay-connect-php

PHP Bindings for the Pomelo Pay Connect API

v2.1.3.1 2023-07-27 08:05 UTC

This package is auto-updated.

Last update: 2024-10-27 11:23:21 UTC


README

PHP API Client and bindings for the Pomelo Pay Connect API

Using this PHP API Client you can interact with your Pomelo Pay Connect API:

  • 💳 Transactions

Installation

Requires PHP 7.2.5 or higher

The recommended way to install pomelopay-connect-php is through Composer:

First, install Composer:

$ curl -sS https://getcomposer.org/installer | php

Next, install the latest pomelopay-connect-php:

$ php composer.phar require pomelopay/pomelopay-connect-php

Finally, you need to require the library in your PHP application:

require "vendor/autoload.php";

Development

  • Run composer test and composer phpcs before creating a PR to detect any obvious issues.
  • Please create issues for this specific API Binding under the issues section.
  • Contact Pomelo Pay directly for Pomelo Pay Connect API support.

Quick Start

PomeloPayConnect\Client

First get your production or sandbox API key from your Dashboard.

If you want to get a production client:

use PomeloPayConnect\Client;

$client = new Client('apikey', 'appid');

If you want to get a sandbox client:

use PomeloPayConnect\Client;

$client = new Client('apikey', 'appid', 'sandbox');

If you want to pass additional GuzzleHTTP options:

use PomeloPayConnect\Client;

$options = ['headers' => ['foo' => 'bar']];
$client = new Client('apikey', 'appid', 'sandbox', $options);

If you want to pass a custom base URL:

use PomeloPayConnect\Client;

$options = ['baseUrl' => 'my-custom-url'];
$client = new Client('apikey', 'appid', 'sandbox', $options);

Available API Operations

The following exposed API operations from the Pomelo Pay Connect API are available using the API Client.

See below for more details about each resource.

💳 Transactions

Create a new transaction with or without a specific payment method.

Usage details

💳 Transactions

Create transaction with a specific payment method

use PomeloPayConnect\Client;

$client = new Client('apikey', 'appid');

$json = [
 "provider" => "card", // Payment method enabled for your merchant account such as bcmc, card, card
 "currency" => "GBP",
 "amount" => 1000, // 10.00 GBP
 "redirectUrl" => "https://foo.bar/order/123" // Optional redirect after payment completion
];

$transaction = $client->transactions->create($json);
header('Location: '. $transaction->url); // Go to transaction payment page

Create transaction without a payment method that will redirect to the payment method selection screen

use PomeloPayConnect\Client;

$client = new Client('apikey', 'appid');

$json = [
 "currency" => "GBP",
 "amount" => 1000, // 10.00 GBP
 "redirectUrl" => "https://foo.bar/order/987" // Optional redirect after payment completion
];

$transaction = $client->transactions->create($json);
header('Location: '. $transaction->url); // Go to payment method selection screen

Create transaction without a payment method with your own localId that will redirect to the payment method selection screen

use PomeloPayConnect\Client;

// Get your API Key and App ID from the "Connect" screen on your merchant dashboard
$client = new Client('apikey', 'appid');

// Currency should be your merchant account currency or the payment would be rejected
$json = [
 "currency" => "EUR",
 "amount" => 1234, // 12.34 EUR,
 "localId" => "INVOICE-2020-0001",
 "redirectUrl" => "https://your.webshop.domain.url/my_order/2020_0001" // Optional redirect after payment completion, the payment portal will redirect to this URL and attach queryParameters to this URL, fully optional
];

$transaction = $client->transactions->create($json);
header('Location: '. $transaction->url); // Go to payment screen on Pomelo Pay
die();

Create transaction without a payment method with your own localId that will redirect to the payment method selection screen and also sends a webhook for this specific transaction

use PomeloPayConnect\Client;

// Get your API Key and App ID from the "Connect" screen on your merchant dashboard
$client = new Client('apikey', 'appid');

// Currency should be your merchant account currency or the payment would be rejected
$json = [
 "currency" => "EUR",
 "amount" => 1234, // 12.34 EUR,
 "localId" => "INVOICE-2020-0001",
 "webhook" => "https://foo.bar/incoming/1234",
 "redirectUrl" => "https://your.webshop.domain.url/my_order/2020_0001" // Optional redirect after payment completion, the payment portal will redirect to this URL and attach queryParameters to this URL, fully optional
];

$transaction = $client->transactions->create($json);
header('Location: '. $transaction->url); // Go to payment screen on Pomelo Pay
die();

Create transaction without a payment method with your own localId that will redirect to the payment method selection screen and also sends a webhook for this specific transaction. Furthermore expire this payment link automatically after 3 hours.

use PomeloPayConnect\Client;

// Get your API Key and App ID from the "Connect" screen on your merchant dashboard
$client = new Client('apikey', 'appid');

// Currency should be your merchant account currency or the payment would be rejected
$json = [
 "currency" => "EUR",
 "amount" => 1234, // 12.34 EUR,
 "validForHours" => 3,
 "localId" => "INVOICE-2020-0001",
 "webhook" => "https://foo.bar/incoming/1234",
 "redirectUrl" => "https://your.webshop.domain.url/my_order/2020_0001" // Optional redirect after payment completion, the payment portal will redirect to this URL and attach queryParameters to this URL, fully optional
];

$transaction = $client->transactions->create($json);
header('Location: '. $transaction->url); // Go to payment screen on Pomelo Pay
die();

About

⭐ Sign up as a merchant at https://dashboard.pomelopay.com and start receiving payments in seconds.