andersoncontreira/worldpay-xml-direct-sdk-php

This package is abandoned and no longer maintained. No replacement package was suggested.

Installs: 296

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 4

Forks: 1

pkg:composer/andersoncontreira/worldpay-xml-direct-sdk-php

This package has no released version yet, and little information is available.


README

Build Status License codecov

Summary

  • Resources
  • Getting Started
  • Prerequisites
  • License
  • Running unit tests with your credentials
  • Quick Examples
  • Related

Resources

  • [API Docs][docs-api] – For details about operations, parameters, and responses
  • [Quick Examples][sdk-examples] - A quick, examples to help get you started
  • [Issues][sdk-issues] – Report issues, submit pull requests, and get involved

Getting Started

Obtaining the credentials

To use this SDK you need the credentials of Worldpay.

Installing via composer

composer require andersoncontreira/worldpay-xml-direct-sdk-php:dev-master

Prerequisites

License

Read License for more licensing information.

Running unit tests with your credentials

You can run the tests with you Worldpay credentials, create a file named .env in root of the project with the follow configurations:

API_USERNAME=someuser
API_PASSWORD=somepassword
API_MERCHANTCODE=somemerchantcode

Quick Examples

Create a Payment (Authorize)

<?php

require __DIR__ . '/vendor/autoload.php';

use Worldpay\XmlDirect\Core\Credentials;
use Worldpay\XmlDirect\Entities\Amount;
use Worldpay\XmlDirect\Entities\Request\Card;
use Worldpay\XmlDirect\Entities\Request\CardAddress;
use Worldpay\XmlDirect\Entities\Request\CardExpiryDate;
use Worldpay\XmlDirect\Entities\Request\Order;
use Worldpay\XmlDirect\Entities\Request\PaymentDetails;
use Worldpay\XmlDirect\Entities\Request\Shopper;
use Worldpay\XmlDirect\Enums\CountryCode;
use Worldpay\XmlDirect\Enums\CurrencyCode;
use Worldpay\XmlDirect\Enums\CurrencyCodeExponency;
use Worldpay\XmlDirect\Enums\PaymentServiceVersion;
use Worldpay\XmlDirect\WorldpayXmlDirect;


$username = '';
$password = '';
$merchantCode = '';
$version = PaymentServiceVersion::V14;
$env = \Worldpay\XmlDirect\Enums\Environment::SANDBOX;

$credentials = new Credentials($username, $password, $merchantCode);
$gateway = new WorldpayXmlDirect($credentials, $version, $env);

$orderCode = 'Order-123';
$description = 'Test order';
$shopper = new Shopper('shopper@mail.com');

$card = new Card(
    '4532-3318-5478-7932',
    'Marietta Canela',
    '141',
    new CardExpiryDate('01', '2022'),
    new CardAddress(
        '982 Merry Wharf',
        $postalCode = '02112-1579',
        $city = 'Richs Corner, Massachusetts',
        $countryCode = CountryCode::COUNTRY_CODE_US
    )
);
$payment = new PaymentDetails($card);

$amount = new Amount(250.00,
    CurrencyCode::CC_USD
);

$order = new Order(
    $orderCode,
    $description,
    $shopper,
    $payment,
    $amount
);


$response = $gateway->authorizeOrder($order);

if ($response->isSuccess()) {

    $order = $response->getObject();
    echo 'Success: ';
    echo sprintf('%s - %s', $order->getOrderCode(), $order->getPayment()->getAuthorizationId());

} else {

    $error = $response->getError();
    echo 'Error: ';
    echo sprintf('%s - %s', $error->getCode(), $error->getMessage());

}

Capture a Payment (Modify)

<?php

require __DIR__ . '/vendor/autoload.php';

use Worldpay\XmlDirect\Core\Credentials;
use Worldpay\XmlDirect\Entities\Amount;
use Worldpay\XmlDirect\Enums\CurrencyCode;
use Worldpay\XmlDirect\Enums\CurrencyCodeExponency;
use Worldpay\XmlDirect\Enums\PaymentServiceVersion;
use Worldpay\XmlDirect\WorldpayXmlDirect;

$username = '';
$password = '';
$merchantCode = '';
$version = PaymentServiceVersion::V14;
$env = \Worldpay\XmlDirect\Enums\Environment::SANDBOX;

$credentials = new Credentials($username, $password, $merchantCode);
$gateway = new WorldpayXmlDirect($credentials, $version, $env);

$orderCode = 'Order-123';
$amount = new Amount(150.00,
    CurrencyCode::CC_USD
);

/** @var \Worldpay\XmlDirect\Http\Response\Modify\CaptureResponse $response */
$response = $gateway->captureOrder($orderCode, $amount);

if ($response->isSuccess()) {

    $captureObject = $response->getObject();
    echo 'Success: ';
    echo sprintf('%s - %s, %s %s', $captureObject->getOrderCode(), $captureObject->getAmount()->getValue(),
        $captureObject->getAmount()->getCurrencyCode());

} else {

    $error = $response->getError();
    echo 'Error: ';
    echo sprintf('%s - %s', $error->getCode(), $error->getMessage());

}

Refund a Payment (Modify)

<?php

require __DIR__ . '/vendor/autoload.php';

use Worldpay\XmlDirect\Core\Credentials;
use Worldpay\XmlDirect\Entities\Amount;
use Worldpay\XmlDirect\Enums\CurrencyCode;
use Worldpay\XmlDirect\Enums\CurrencyCodeExponency;
use Worldpay\XmlDirect\Enums\PaymentServiceVersion;
use Worldpay\XmlDirect\WorldpayXmlDirect;

$username = '';
$password = '';
$merchantCode = '';
$version = PaymentServiceVersion::V14;
$env = \Worldpay\XmlDirect\Enums\Environment::SANDBOX;

$credentials = new Credentials($username, $password, $merchantCode);
$gateway = new WorldpayXmlDirect($credentials, $version, $env);

$orderCode = 'Order-123';
$amount = new Amount(150.00,
    CurrencyCode::CC_USD
);

/** @var \Worldpay\XmlDirect\Http\Response\Modify\RefundResponse $response */
$response = $gateway->refundOrder($orderCode, $amount);

if ($response->isSuccess()) {

    $refundObject = $response->getObject();
    echo 'Success: ';
    echo sprintf('%s - %s, %s %s', $refundObject->getOrderCode(), $refundObject->getAmount()->getValue(),
        $refundObject->getAmount()->getCurrencyCode());

} else {

    $error = $response->getError();
    echo 'Error: ';
    echo sprintf('%s - %s', $error->getCode(), $error->getMessage());

}

Cancel a Payment (Modify)

<?php

require __DIR__ . '/vendor/autoload.php';

use Worldpay\XmlDirect\Core\Credentials;
use Worldpay\XmlDirect\Enums\PaymentServiceVersion;
use Worldpay\XmlDirect\WorldpayXmlDirect;

$username = '';
$password = '';
$merchantCode = '';
$version = PaymentServiceVersion::V14;
$env = \Worldpay\XmlDirect\Enums\Environment::SANDBOX;

$credentials = new Credentials($username, $password, $merchantCode);
$gateway = new WorldpayXmlDirect($credentials, $version, $env);

$orderCode = 'Order-123';

/** @var \Worldpay\XmlDirect\Http\Response\Modify\CancelResponse $response */
$response = $gateway->cancelOrder($orderCode);

if ($response->isSuccess()) {

    $cancel = $response->getObject();
    echo 'Success: ';
    echo sprintf('%s - %s', $cancel->getOrderCode());

} else {

    $error = $response->getError();
    echo 'Error: ';
    echo sprintf('%s - %s', $error->getCode(), $error->getMessage());

}

Inquiry an Order

<?php

require __DIR__ . '/vendor/autoload.php';

use Worldpay\XmlDirect\Core\Credentials;
use Worldpay\XmlDirect\Enums\PaymentServiceVersion;
use Worldpay\XmlDirect\WorldpayXmlDirect;

$username = '';
$password = '';
$merchantCode = '';
$version = PaymentServiceVersion::V14;
$env = \Worldpay\XmlDirect\Enums\Environment::SANDBOX;

$credentials = new Credentials($username, $password, $merchantCode);
$gateway = new WorldpayXmlDirect($credentials, $version, $env);

$orderCode = 'Order-123';

/** @var \Worldpay\XmlDirect\Http\Response\InquiryResponse $inquiryResponse */
$inquiryResponse = $gateway->inquiryOrder($orderCode);

if ($inquiryResponse->isSuccess()) {

    $order = $inquiryResponse->getObject();
    echo 'Success: ';
    echo sprintf('%s - %s', $order->getOrderCode(), $order->getPayment()->getAuthorizationId());

} else {

    $error = $inquiryResponse->getError();
    echo 'Error: ';
    echo sprintf('%s - %s', $error->getCode(), $error->getMessage());
    
}

Contributors

Related