1. Go to this page and download the library: Download helmutschneider/swish-php 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/ */
helmutschneider / swish-php example snippets
class Client
{
/**
* @param PaymentRequest $request
* @return CreatePaymentRequestResponse
* @throws \GuzzleHttp\Exception\GuzzleException
* @throws ValidationException
*/
public function createPaymentRequest(PaymentRequest $request): CreatePaymentRequestResponse;
/**
* @param string $id Payment request id
* @return PaymentRequest
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function getPaymentRequest(string $id): PaymentRequest;
/**
* @param Refund $refund
* @return string refund id
* @throws \GuzzleHttp\Exception\GuzzleException
* @throws ValidationException
*/
public function createRefund(Refund $refund): string;
/**
* @param string $id Refund id
* @return Refund
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function getRefund(string $id): Refund;
}
use HelmutSchneider\Swish\Client;
use HelmutSchneider\Swish\PaymentRequest;
// Swish CA root cert
$rootCert = 'path/to/swish-root.crt'; // forwarded to guzzle's "verify" option
// .pem-bundle containing your client cert and it's corresponding private key. forwarded to guzzle's "cert" option
// you may use an empty string for "password" if you are using the test certificates.
$clientCert = ['path/to/client-cert.pem', 'password'];
// Create a client for the production environment. To connect to the test environment
// instead, you must pass the constant Client::SWISH_TEST_URL as the third parameter.
$client = Client::make($rootCert, $clientCert);
$pr = new PaymentRequest([
'callbackUrl' => 'https://localhost/swish',
'payeePaymentReference' => '12345',
'payerAlias' => '4671234768',
'payeeAlias' => '1231181189',
'amount' => '100',
])
$res = $client->createPaymentRequest($pr);
var_dump($res->id);
//
// string(32) "0D3AD8F1AE484A57B82A87FAB8C602EB"
//