Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
swedbank-pay-checkout
/
vendor
/
swedbank-pay
/
swedbank-pay-sdk-php
/
tests
/
stand
:
swish.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php // phpcs:ignoreFile -- this is test use SwedbankPay\Api\Service\Payment\Resource\Collection\PricesCollection; use SwedbankPay\Api\Service\Payment\Resource\Collection\Item\PriceItem; use SwedbankPay\Api\Service\Payment\Resource\Request\Metadata; use SwedbankPay\Api\Service\Swish\Request\Purchase; use SwedbankPay\Api\Service\Swish\Resource\Request\PaymentPayeeInfo; use SwedbankPay\Api\Service\Swish\Resource\Request\PaymentPrefillInfo; use SwedbankPay\Api\Service\Swish\Resource\Request\PaymentSwish; use SwedbankPay\Api\Service\Swish\Resource\Request\PaymentUrl; use SwedbankPay\Api\Service\Swish\Resource\Request\Payment; use SwedbankPay\Api\Service\Swish\Resource\Request\SwishPaymentObject; use SwedbankPay\Api\Service\Data\ResponseInterface as ResponseServiceInterface; // phpcs:disable require_once __DIR__ . '/abstract.php'; require_once __DIR__ . '/../bootstrap.php'; // phpcs:enable /** * @codeCoverageIgnore */ class SwishStand extends Stand { /** * @throws \SwedbankPay\Api\Client\Exception * @SuppressWarnings(PHPMD.Superglobals) * @SuppressWarnings(PHPMD.ExitExpression) */ public function __construct() { // phpcs:disable if (php_sapi_name() !== 'cli-server') { exit(); } // phpcs:enable $url = new PaymentUrl(); $url->setCompleteUrl('http://localhost:8000/complete.php') ->setCancelUrl('http://localhost:8000/cancel.php') ->setCallbackUrl('http://localhost:8000/callback.php') ->setHostUrls(['http://localhost:8000']); $payeeInfo = new PaymentPayeeInfo(); $payeeInfo->setPayeeId(PAYEE_ID) ->setPayeeReference($this->generateRandomString(30)) ->setPayeeName('Merchant1') ->setProductCategory('A123') ->setOrderReference('or-123456') ->setSubsite('MySubsite'); $prefillInfo = new PaymentPrefillInfo(); $prefillInfo->setMsisdn('+46760000000'); $swish = new PaymentSwish(); $swish->setEcomOnlyEnabled(false); $price = new PriceItem(); $price->setType('Swish') ->setAmount(1500) ->setVatAmount(0); $prices = new PricesCollection(); $prices->addItem($price); $metadata = new Metadata(); $metadata->setData('order_id', 'or-123456'); $payment = new Payment(); $payment->setOperation('Purchase') ->setIntent('Sale') ->setCurrency('SEK') ->setDescription('Test Purchase') ->setUserAgent('Mozilla/5.0...') ->setLanguage('nb-NO') ->setUrls($url) ->setPayeeInfo($payeeInfo) ->setPrefillInfo($prefillInfo) ->setSwish($swish) ->setPrices($prices) ->setMetadata($metadata); $swishPaymentObject = new SwishPaymentObject(); $swishPaymentObject->setPayment($payment); $purchaseRequest = new Purchase($swishPaymentObject); $purchaseRequest->setClient($this->getClient()); /** @var ResponseServiceInterface $responseService */ $responseService = $purchaseRequest->send(); $responseData = $responseService->getResponseData(); // phpcs:disable session_start(); $_SESSION['payment_id'] = $responseData['payment']['id']; $redirectUrl = $responseService->getOperationByRel('redirect-sale', 'href'); header('Location: ' . $redirectUrl); exit(); // phpcs:enable } } new SwishStand();