kameli / quickpay-v10
A library to communicate with the Danish payment gateway Quickpay
Installs: 6 046
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 1
Forks: 4
Open Issues: 0
Requires
- php: >=5.5
- ext-curl: *
- ext-json: *
Requires (Dev)
- illuminate/collections: ^9.42.2
- symfony/var-dumper: ^6.2
This package is auto-updated.
Last update: 2024-11-26 12:56:30 UTC
README
Features:
- Access the Quickpay API
- Payments
- Subscriptions
- Cards
- Payouts
- Brandings
- Generate payment links
- Validate callbacks
- Generate payment forms
Go to the official QuickPay documentation to explore all endpoints and options: http://tech.quickpay.net/api/services/?scope=merchant
Installation
composer require kameli/quickpay-v10
Examples
Process a payment
<?php use Kameli\Quickpay\Quickpay; $qp = new Quickpay('API_KEY', 'PRIVATE_KEY'); $payment = $qp->payments()->create([ 'currency' => 'DKK', 'order_id' => 'SOME_UNIQUE_ORDER_ID', ]); $link = $qp->payments()->link($payment->getId(), [ 'amount' => 10000, // amount in least valuable unit (øre) ]); // Make the user follow the payment link which will take them to a form where they put in their card details $url = $link->getUrl(); // When the form has been completed, a POST request will be sent to a specified url where you can validate it if ($qp->validateCallback()) { $payment = $qp->receivePaymentCallback(); // Capture the amount to charge the card $qp->payments()->captureAmount($payment->getId(), $payment->amount()); // Handle order }
Create a subscription and make recurring payments
Remember to enable subscriptions for the acquirer you are using.
<?php use Kameli\Quickpay\Quickpay; $qp = new Quickpay('API_KEY', 'PRIVATE_KEY'); $subscription = $qp->subscriptions()->create([ 'currency' => 'DKK', 'order_id' => 'SOME_UNIQUE_ORDER_ID', 'description' => 'Abonnement', ]); $link = $qp->subscriptions()->link($subscription->getId(), [ 'amount' => 100, // the amount does not matter here, but is still required for some reason ]); // Make the user follow the payment link which will take them to a form where they put in their card details $url = $link->getUrl(); // When the form has been completed, a POST request will be sent to a specified url where you can validate it if ($qp->validateCallback()) { $subscription = $qp->receiveSubscriptionCallback(); } // Use the recurring method to make new payments $payment = $qp->subscriptions()->recurring($subscription->getId(), [ 'amount' => 10000, 'order_id' => 'SOME_UNIQUE_ORDER_ID', ]); // Capture the amount to charge the card $qp->payments()->captureAmount($payment->getId(), $payment->amount());