marekvikartovsky / trustpay-php
TrustPay - online card payments gate.
Requires
- php: >=8.1
- illuminate/http: ^v10.0.0
- illuminate/support: ^v10.0.0
This package is not auto-updated.
Last update: 2025-02-05 19:38:00 UTC
README
This library provides communication between client and TrustPay online cards payment gate.
Currently supported payment methods
- Card payment
- EPS
- Sofort
- Giropay
Requirements
- >= PHP 8.1
Installation
composer require marekvikartovsky/trustpay-php
Usage
To create payment url you need to follow these steps.
As first as you need to instantiate \MarekVikartovsky\TrustPay\TrustPay
class and provide information such as project id
, private key
, notification url
, return urls
and locale
.
Cancel return URL
, Error return URL
and locale
do not need to be specified, they have predefined values.
$trustpay = new \MarekVikartovsky\TrustPay\TrustPay( 'PROJET_ID', 'PRIVATE_KEY', 'NOTIFICATION_URL' 'SUCCESS_RETURN_URL', 'CANCEL_RETURN_URL', 'ERROR_RETURN_URL', 'en' );
After that, you need to call a payment
method, which creates payment object for specific payment method. The payment method is set by payment
function parameter.
Available payment methods:
\MarekVikartovsky\TrustPay\PaymentMethods\CardPayment::PAYMENT_METHOD_NAME
\MarekVikartovsky\TrustPay\PaymentMethods\Eps::PAYMENT_METHOD_NAME
\MarekVikartovsky\TrustPay\PaymentMethods\Giropay::PAYMENT_METHOD_NAME
\MarekVikartovsky\TrustPay\PaymentMethods\Sofort::PAYMENT_METHOD_NAME
If you want to use \MarekVikartovsky\TrustPay\PaymentMethods\CardPayment
method type, you have to call setPaymentType
method with Purchase
value.
return $trustpay->payment(\MarekVikartovsky\TrustPay\PaymentMethods\CardPayment::PAYMENT_METHOD_NAME) ->setAmount((float) 10) ->setCurrency(\MarekVikartovsky\TrustPay\Enums\CurrencyEnum::EUR) ->setReference('MERCHANT_REFERENCE') ->setPaymentType('Purchase') ->getPaymentUrl();
Notification handler
As first as you need to instantiate \MarekVikartovsky\TrustPay\CallbackHandlers\NotificationHandler
class and pass into its constructor private key
and \Illuminate\Http\Request()
instance.
$notification = new \MarekVikartovsky\TrustPay\CallbackHandlers\NotificationHandler('XXXXX-PRIVATE-KEY-XXXXX', new \Illuminate\Http\Request())
After that you should check if signature is valid. You can do this by calling method hasValidSignature()
. This method return boolean value.
if($notification->hasValidSignature()){ // do something }
Than you can check for specific payment status. There are few methods which can be used: isPaid()
, isRejected()
, isChargeBacked()
, isRapidDisputeResolution()
or if you want to get value from status attribute, you can use getStatus()
method. These methods return boolean values.
if($notification->isPaid()){ // do something }
Documentation
License
The TrustPay API PHP library is open-sourced software licensed under the MIT license.