marekvikartovsky/trustpay-php

TrustPay - 在线卡支付网关。

v1.1.1 2024-06-26 16:36 UTC

This package is not auto-updated.

Last update: 2024-10-02 18:12:28 UTC


README

此库提供了客户端与TrustPay在线卡支付网关之间的通信。

目前支持的支付方式

  • 卡支付
  • EPS
  • Sofort
  • Giropay

要求

  • >= PHP 8.1

安装

composer require marekvikartovsky/trustpay-php

使用方法

要创建支付URL,您需要遵循以下步骤。

首先,您需要实例化 \MarekVikartovsky\TrustPay\TrustPay 类,并提供如下信息:项目ID私钥通知URL返回URL地区
取消返回URL错误返回URL地区 无需指定,它们有预定义的值。

$trustpay = new \MarekVikartovsky\TrustPay\TrustPay(
'PROJET_ID',
'PRIVATE_KEY',
'NOTIFICATION_URL'
'SUCCESS_RETURN_URL',
'CANCEL_RETURN_URL',
'ERROR_RETURN_URL',
'en'
);

之后,您需要调用一个 payment 方法,该方法为特定支付方法创建支付对象。支付方法由 payment 函数的参数设置。
可用的支付方法
\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

如果您想使用 \MarekVikartovsky\TrustPay\PaymentMethods\CardPayment 方法类型,您需要调用 setPaymentType 方法并传入 Purchase 值。

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();

通知处理器

首先,您需要实例化 \MarekVikartovsky\TrustPay\CallbackHandlers\NotificationHandler 类,并将其构造函数中的 私钥\Illuminate\Http\Request() 实例传递进去。

$notification = new \MarekVikartovsky\TrustPay\CallbackHandlers\NotificationHandler('XXXXX-PRIVATE-KEY-XXXXX', new \Illuminate\Http\Request())

之后,您应该检查签名是否有效。您可以通过调用 hasValidSignature() 方法来完成此操作。此方法返回布尔值。

if($notification->hasValidSignature()){
    // do something
}

然后,您可以检查特定的支付状态。有几个方法可以使用:isPaid()isRejected()isChargeBacked()isRapidDisputeResolution()。如果您想从状态属性获取值,可以使用 getStatus() 方法。这些方法返回布尔值。

if($notification->isPaid()){
    // do something
}

文档

https://doc.trustpay.eu/aapi

许可证

TrustPay API PHP库是开源软件,许可协议为MIT许可