andersoncontreira / worldpay-xml-direct-sdk-php
This package is abandoned and no longer maintained.
No replacement package was suggested.
This package has no released version yet, and little information is available.
README
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
- Anderson Contreira andersoncontreira
- Julio Cesar Zuppa juliozuppa
- Debora de Lima deboradelima