Skip to content

partnero/partnero-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Partnero PHP SDK

MIT licensed

Table of Contents

Installation

Requirements

  • PHP 8.0
  • PSR-7 and PSR-18 based HTTP adapter
  • Partnero API key partnero.com

Setup

This library is built atop of PSR-7 and PSR-18.

composer require partnero/partnero-php

Usage

Partners for Affiliate program

Get a list of partners

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->partners()->list(10);

Get partner

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->partners()->find('partner-key');

Create partner

use Partnero\Partnero;
use Partnero\Models\Partner;

$partnero = new Partnero('api_key');

$partner = (new Partner())
  ->setEmail('[email protected]')
  ->setName('Name')
  ->setKey('partner-key');

$partnero->partners()->create($partner);

Key is optional.
If key is not set, a random key will be generated for the partner.

Update partner

use Partnero\Partnero;
use Partnero\Models\Partner;

$partnero = new Partnero('api_key');

$partner = (new Partner())
  ->setEmail('[email protected]')
  ->setName('John')
  ->setKey('john-doe');

$partnero->partners()->update('partner-key', $partner);

Delete partner

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->partners()->delete('john-doe');

Customers

Get a list of customers

use Partnero\Partnero;
use Partnero\Models\Partner;

$partnero = new Partnero('api_key');

$partner = (new Partner())
  ->setKey('partner-key');

$partnero->customers()->list(10, $partner);

Get customer

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->customers()->find('customer-key');

Create customer

use Partnero\Partnero;
use Partnero\Models\Partner;
use Partnero\Models\Customer;

$partnero = new Partnero('api_key');

$partner = new Partner();
$partner->setKey('partner-key');

$customer = (new Customer())
  ->setKey('customer-key')
  ->setName('Name')
  ->setEmail('[email protected]');

$partnero->customers()->create($customer, $partner);

Update customer

use Partnero\Partnero;
use Partnero\Models\Customer;

$partnero = new Partnero('api_key');

$customer = (new Customer())
  ->setKey('new-customer-key')
  ->setName('John')
  ->setEmail('[email protected]');

$partnero->customers()->update('customer-key', $customer);

Delete customer

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->customers()->delete('new-customer-key');

Transactions

Create transaction

use Partnero\Partnero;
use Partnero\Models\Customer;
use Partnero\Models\Transaction;

$partnero = new Partnero('api_key');

$customer = (new Customer())
  ->setKey('customer-key');

$transaction = (new Transaction())
  ->setKey('transaction_123')
  ->setAmount(99.99)
  ->setAction('sale');

$partnero->transactions()->create($transaction, $customer);

Delete transaction

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->transactions()->delete('transaction_123');

Webhooks

Get a list of webhooks

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->webhooks()->list(50, 1);

Get webhook

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->webhooks()->find('webhook-key');

Create webhook

use Partnero\Partnero;
use Partnero\Models\Webhook;

$partnero = new Partnero('api_key');

$webhook = (new Webhook())
  ->setName('Demo')
  ->setUrl('https://webhook.site/e68d154a-ad82')
  ->setEvents([
    'partner.created'
  ]);

$partnero->webhooks()->create($webhook);

Update webhook

use Partnero\Partnero;
use Partnero\Models\Webhook;

$partnero = new Partnero('api_key');

$webhook = (new Webhook())->setName('Demo 2');

$partnero->webhooks()->update('webhook-key', $webhook);

Delete webhook

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->webhooks()->delete('webhook-key');

Referrals

Get a list of referrals

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->referrals()->list(50, 1, 'referred')

Create referring customer

use Partnero\Partnero;
use Partnero\Models\Partner;

$partnero = new Partnero('api_key');

$customer = (new Partner())
  ->setId('partner-id')
  ->setName('John Doe')
  ->setEmail('[email protected]');

$partnero->referrals()->createReferring($customer);

Create referred customer

use Partnero\Partnero;
use Partnero\Models\Partner;

$partnero = new Partnero('api_key');

$customer = (new Partner())
  ->setId('partner-id')
  ->setName('Jean Doe')
  ->setEmail('[email protected]');

$referringCustomer = (new Partner())
  ->setKey('partner-key');

$partnero->referrals()->createReferred($customer, $referringCustomer)

Get referral customer

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->referrals()->find('partner-id');

Get referred customer list

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->referrals()->listReferred('partner-id');

Get referral customer stats

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->referrals()->stats('partner-id');

Search Referral Customer

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->referrals()->search(['id' => 'partner-id']);

Update referral customer

use Partnero\Partnero;
use Partnero\Models\Partner;

$partnero = new Partnero('api_key');

$newCustomer = (new Partner())
  ->setName('Mark Doe');

$partnero->referrals()->update('partner-id', $newCustomer);

Delete referral customer

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->referrals()->delete('partner-id');

Invite referral customer

use Partnero\Partnero;
use Partnero\Models\Partner;

$partnero = new Partnero('api_key');

$customer = (new Partner())
  ->setEmail('[email protected]');

$partnero->referrals()->invite($customer, [
  'personalization_key_1' => 'personalization_value_1',
  'personalization_key_2' => 'personalization_value_2'
]);

Get referral customer balance

use Partnero\Partnero;

$partnero = new Partnero('api_key');

$partnero->referrals()->balance('partner-id');

Credit referral customer balance

use Partnero\Partnero;
use Partnero\Models\BalanceCredit;

$partnero = new Partnero('api_key');

$credit = (new BalanceCredit())
            ->setAmount(10)
            ->setAmountUnits('usd')
            ->setIsCurrency(true);

$partnero->referrals()->credit('partner-id', $credit);

Support and Feedback

In case you find any bugs, submit an issue directly here in GitHub.

If you have any troubles using our API or SDK feel free to contact our support by email [email protected]

The official documentation is at https://developers.partnero.com