PHP code example of payeverorg / payever-php-sdk

1. Go to this page and download the library: Download payeverorg/payever-php-sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

payeverorg / payever-php-sdk example snippets


use Payever\Sdk\Core\ClientConfiguration;
use Payever\Sdk\Core\Enum\ChannelSet;

$clientId = 'your-oauth2-client-id';
$clientSecret = 'your-oauth2-client-secret';
$businessUuid = '88888888-4444-4444-4444-121212121212';

$clientConfiguration = new ClientConfiguration();

$clientConfiguration
    ->setClientId($clientId)
    ->setClientSecret($clientSecret)
    ->setBusinessUuid($businessUuid)
    ->setChannelSet(ChannelSet::CHANNEL_MAGENTO)
    ->setApiMode(ClientConfiguration::API_MODE_LIVE)
;

use Payever\Sdk\Payments\Enum\PaymentMethod;
use Payever\Sdk\Payments\Enum\Salutation;
use Payever\Sdk\Payments\Http\MessageEntity\Payment\CartItemEntity;
use Payever\Sdk\Payments\Http\MessageEntity\Payment\ChannelEntity;
use Payever\Sdk\Payments\Http\MessageEntity\Payment\CustomerAddressEntity;
use Payever\Sdk\Payments\Http\MessageEntity\Payment\CustomerEntity;
use Payever\Sdk\Payments\Http\MessageEntity\Payment\PurchaseEntity;
use Payever\Sdk\Payments\Http\MessageEntity\Payment\UrlsEntity;
use Payever\Sdk\Payments\Http\RequestEntity\CreatePaymentRequest;

$channelEntity = new ChannelEntity();
$channelEntity->setName('api');

$purchaseEntity = new PurchaseEntity();
$purchaseEntity
    ->setAmount(500)
    ->setDeliveryFee(100)
    ->setCurrency('EUR');

$customerEntity = new CustomerEntity();
$customerEntity
    ->setType('person')
    ->setEmail('[email protected]')
    ->setPhone('+450001122')
    ->setBirthdate('1990-01-01');

$cartItem = new CartItemEntity();
$cartItem
    ->setName('Product 1')
    ->setIdentifier('product-1')
    ->setSku('product-1')
    ->setUnitPrice(100)
    ->setTaxRate(19)
    ->setTotalAmount(400)
    ->setTotalTaxAmount(19)
    ->setQuantity(4)
    ->setDescription('product 1 description')
    ->setImageUrl('product-1.jpg')
    ->setProductUrl('product-1')
    ->setCategory('category');

$addressEntity = new CustomerAddressEntity();
$addressEntity
    ->setSalutation(Salutation::SALUTATION_MR)
    ->setFirstName('John')
    ->setLastName('Doe')
    ->setCity('Hamburg')
    ->setRegion('Region')
    ->setZip('10111')
    ->setStreet('Awesome street, 10')
    ->setCountry('DE')
    ->setOrganizationName('Company');

$urls = new UrlsEntity();
$urls
    ->setSuccess('http:://your.domain/success?paymentId=--PAYMENT-ID--')
    ->setPending('http:://your.domain/pending?paymentId=--PAYMENT-ID--')
    ->setFailure('http:://your.domain/failure')
    ->setCancel('http:://your.domain/cancel')
    ->setNotification('http:://your.domain/notification?paymentId=--PAYMENT-ID--');

$requestEntity = new CreatePaymentRequest();
$requestEntity
    ->setChannel($channelEntity)
    ->setReference('1001')
    ->setPaymentMethod(PaymentMethod::METHOD_SANTANDER_DE_INSTALLMENT)
    ->setClientIp('192.168.1.1')
    ->setPurchase($purchaseEntity)
    ->setCustomer($customerEntity)
    ->setCart([$cartItem])
    ->setBillingAddress($addressEntity)
    ->setUrls($urls);

try {
    $createPaymentRequest = $paymentsApiClients->createPaymentV3Request($requestEntity);
    $createPaymentResponse = $createPaymentRequest->getResponseEntity();

    header(sprintf('Location: %s', $createPaymentResponse->getRedirectUrl()), true);
    exit;
} catch (\Exception $exception) {
    echo $exception->getMessage();
}


use Payever\Sdk\Payments\PaymentsApiClient;
use Payever\Sdk\Payments\Http\ResponseEntity\Result\PaymentResult;

$paymentId = '--PAYMENT-ID--';
$paymentsApiClient = new PaymentsApiClient($clientConfiguration);

try {
    $response = $paymentsApiClient->retrievePaymentRequest($paymentId);
    /** @var PaymentResult $payment */
    $payment = $response->getResponseEntity()->getResult();
    $status = $payment->getStatus();
} catch(\Exception $exception) {
    echo $exception->getMessage();
}

use Payever\Sdk\Payments\PaymentsApiClient;
use Payever\Sdk\Payments\Action\ActionDecider;

$paymentId = '--PAYMENT-ID--';
$paymentsApiClient = new PaymentsApiClient($clientConfiguration);
$actionDecider = new ActionDecider($paymentsApiClient);

try {
    if ($actionDecider->isActionAllowed($paymentId, ActionDecider::ACTION_CANCEL, false)) {
        $paymentsApiClient->cancelPaymentRequest($paymentId);
    }
} catch(\Exception $exception) {
    echo $exception->getMessage();
}

use Payever\Sdk\Payments\PaymentsApiClient;
use Payever\Sdk\Payments\Action\ActionDecider;

$paymentId = '--PAYMENT-ID--';
$paymentsApiClient = new PaymentsApiClient($clientConfiguration);
$actionDecider = new ActionDecider($paymentsApiClient);

try {
    if ($actionDecider->isActionAllowed($paymentId, ActionDecider::ACTION_SHIPPING_GOODS, false)) {
        $paymentsApiClient->shippingGoodsPaymentRequest($paymentId);
    }
} catch(\Exception $exception) {
    echo $exception->getMessage();
}

use Payever\Sdk\Payments\B2BApiClient;
use Payever\Sdk\Payments\Http\RequestEntity\CompanyCreditRequest;
use Payever\Sdk\Payments\Http\RequestEntity\B2B\CreditCompanyEntity;

$company = new CreditCompanyEntity();
$company->setExternalId('81981372');

$companyCreditRequest = new CompanyCreditRequest();
$companyCreditRequest->setCompany($company);

$b2bApiClient = new B2BApiClient($clientConfiguration);
$result = $b2bApiClient->companyCreditRequest($companyCreditRequest);