marekvikartovsky / trustpay-php
TrustPay - 在线卡支付网关。
Requires
- php: >=8.1
- illuminate/http: ^v10.0.0
- illuminate/support: ^v10.0.0
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 }
文档
许可证
TrustPay API PHP库是开源软件,许可协议为MIT许可。