Giter VIP home page Giter VIP logo

omnipay-paysafe-payment-hub's Introduction

Omnipay: Paysafe Payment Hub

Build Status Latest Stable Version Total Downloads License

Paysafe Payment Hub library for the Omnipay V3 payment library, used for Neteller (and Skrill later).

Installation

Use composer to add the library as dependency for your project composer require league/omnipay worldstream-labs/omnipay-paysafe-payment-hub

Development

To set up for development:
composer install

Usage

Setup

<?php

require 'vendor/autoload.php';

use Omnipay\Omnipay;

$gateway = Omnipay::create('PaysafePaymentHub');
$gateway->setApiKey('yourApiKey');

// When deploying to production, don't forget to set test mode to false
$gateway->setTestMode(false);

Creating a payment handle for Neteller

<?php

require 'vendor/autoload.php';

use Omnipay\Omnipay;

$gateway = Omnipay::create('PaysafePaymentHub');
$gateway->setApiKey('yourApiKey');

$response = $gateway->purchase([
    'amount'         => 11.00,
    'currency'       => 'EUR',
    'successUrl'     => 'https://url/success',
    'failureUrl'     => 'https://url/failure',
    'returnUrl'      => 'https://url/return',
    'consumerId'     => '[email protected]',
    'merchantRefNum' => 'abcdefg',
    'description'    => 'description',
    'text'           => 'text',
    'paymentMethod'  => 'neteller',
])->send();

redirect($response->getRedirectUrl());

This call will return the PurchaseResponse object. If the call is succesful then you can redirect the customer to the redirectUrl. Depending on the result in the next screen the customer will be redirected to the success or failure url.

Note: consumerId is optional in the request, don't forget to add consumerIdLocked with value false when leaving consumerId out.

Finalize Payment

Before you can finalize the payment, make sure the payment handle is successfully created and payable using the getPaymentHandle call.

<?php

$gateway = Omnipay::create('PaysafePaymentHub');
$gateway->setApiKey('yourApiKey');

$response = $gateway->getPaymentHandle([
    'paymentHandleId' = $paymentHandleId,
])->send();

$paymentHandle = $response->getPaymentHandle();
if ($response->getPaymentHandle()->isPayable()) {
    $completePurchaseResponse = $gateway->completePurchase([
        'amount'             => 11.00,
        'currency'           => 'EUR',
        'paymentHandleToken' => $paymentHandle->getPaymentHandleToken(),
        'merchantRefNum'     => 'ref2',
        'dupCheck'           => false,
        'settleWithAuth'     => true,
        'customerIp'         => '172.0.0.1',
        'description'        => 'description',
    ])->send();
}

Fetch transaction

<?php

$gateway = Omnipay::create('PaysafePaymentHub');
$gateway->setApiKey('yourApiKey');

$response = $gateway->fetchTransaction([
    'transactionId' => $webhook['payload']['id'],
])->send();

if ($response->isComplete()) {
    // payment is complete
}

Tests

Run the unit tests with composer run test

Support

If you are having general issues with Omnipay, we suggest posting on Stack Overflow. Be sure to add the omnipay tag so it can be easily found.

If you believe you have found a bug, please report it using the GitHub issue tracker, or better yet, fork the library and submit a pull request.

References

Paysafe Payment Hub documentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.