dofinity/creditguard

用于集成CreditGuard支付功能的PHP库。

dev-master 2024-03-10 21:23 UTC

This package is auto-updated.

Last update: 2024-09-10 22:26:31 UTC


README

Maintainability

CreditGuard

一个轻量级的PHP辅助库,用于集成CreditGuard API支付。

安装

通过Composer安装库

$ composer require dofinity/creditguard:dev-master

使用自定义WSDL(CreditGuard的自定义API)

目前为了使用自定义类,你有两种选择

  1. 将您的更改导出为补丁并应用于库(不推荐)
  2. 分支仓库并应用您的自定义WSDL
通过WSDL生成CG类

如上所述,库包含预先生成的CG类,这些类是从我们的演示端点生成的。如果您的终端提供了针对您特定需求的类,您将需要使用wsdl2phpgenerator再次生成这些类,该工具已在我们的composer.json中定义为一个开发依赖项。

$ composer install --dev

然后执行generateWsdl.php?wsdl_path=https%3A%2F%2Fxxx.creditguard.co.il%2Fxpo%2Fservices%2FRelay%3Fwsdl,现在您应该能在/wsdl目录中看到更新后的类。

请注意,URL必须进行编码才能使其生效。

安全考虑和调整

  • 请确保在生产环境中wsdlGenerate.php为只读(400)
  • 不要在非开发环境中使用composer install --dev

基本用法

支付页面设置

examples/newTransactionRedirectUrl.php

支付验证

// callback.php
require __DIR__ . '/vendor/autoload.php';

$CreditguardTransactionId = $_GET['CreditguardTransactionId'];
$CreditguardStatusCode = $_GET['CreditguardStatusCode'];
$ConfirmationKey = $_GET['ConfirmationKey'];
$Total = 100;

$PaymentResponse = new \Creditguard\PaymentResponse(
    $CreditguardStatusCode, $CreditguardTransactionId, '', '', $ConfirmationKey, 100
);

$payment = new \Creditguard\CreditguardPayment();
$payment->setPaymentResponse($PaymentResponse);

if ($payment->ValidatePayment()) {
    echo 'Ok. Payment has been verified';
} else {
    echo 'Fail. Payment forged';
}

检索交易信息

// callback.php
require __DIR__ . '/vendor/autoload.php';

// change terminal, user and password to real credentials
$terminal = '0123456';
$user = 'user';
$password = 'password';

$CreditguardTransactionId = $_GET['CreditguardTransactionId'];

$transaction = new \Creditguard\CreditguardTransaction(
    $terminal, $user, $password, $CreditguardTransactionId
);

// use properties from src/Creditguard/CreditguardTransaction.php class
var_dump($transaction);