schoolaid/powertranz

Powertranz 客户端

0.1.9 2023-11-28 01:29 UTC

This package is auto-updated.

Last update: 2024-08-28 00:07:31 UTC


README

此包是 BAC Powertranz 的最小客户端,目前它只是一个简单的客户端。

支持的操作

✅ 活跃

use SchoolAid\Powertranz\Actions\Alive;

$response = Alive::getInstance()->submit()

✅ 捕获

use SchoolAid\Powertranz\Requests\PowertranzBody;
use SchoolAid\Powertranz\Actions\Capture;

$body = PowertranzBody::capturePowertranzBody($transactionIdentifier, $amount, $externalIdentifier)
$response = Capture::getInstance()->setBody($body)->submit()

✅ 退款
用于回滚事务。

use SchoolAid\Powertranz\Requests\PowertranzBody;
use SchoolAid\Powertranz\Actions\Refund;

$body = PowertranzBody::refundPowertranzBody($transactionIdentifier, $amount, $externalIdentifier)
$response = Refund::getInstance()->setBody($body)->submit()

✅ 撤销
用于撤销授权,在 API 中为:api/void

use SchoolAid\Powertranz\Requests\PowertranzBody;
use SchoolAid\Powertranz\Actions\Revert;

$body = PowertranzBody::voidPowertranzBody($transactionIdentifier, $cardId)
$response = Revert::getInstance()->setBody($body)->submit()

✅ 销售

use SchoolAid\Powertranz\Requests\PowertranzBody;
use SchoolAid\Powertranz\Actions\Sale;

$body = PowertranzBody::powertranzBody(
    $transactionId,
    $orderId,
    $cardPan,
    $cardCvv, //yyMM format
    $cardExpiration,
    $cardName,
    $billingAddress
)
$response = Sale::getInstance()->setBody($body)->submit()

✅ SPIAuth

use SchoolAid\Powertranz\Requests\PowertranzBody;
use SchoolAid\Powertranz\Actions\SPIAuth;

$body = PowertranzBody::powertranzBody(
    $transactionId,
    $orderId,
    $cardPan,
    $cardCvv, //yyMM format
    $cardExpiration,
    $cardName,
    $billingAddress
)
$response = SPIAuth::getInstance()->setBody($body)->submit()

✅ SPIPayment

use SchoolAid\Powertranz\Requests\PowertranzBody;
use SchoolAid\Powertranz\Actions\SPIPayment;

$spiToken = '...';
$response = SPIPayment::getInstance()->setToken($token)->submit()

✅ SPISale

use SchoolAid\Powertranz\Requests\PowertranzBody;
use SchoolAid\Powertranz\Actions\SPISale;

$body = PowertranzBody::powertranzBody(
    $transactionId,
    $orderId,
    $cardPan,
    $cardCvv, //yyMM format
    $cardExpiration,
    $cardName,
    $billingAddress
)
$response = SPISale::getInstance()->setBody($body)->submit()

❌ SPIRiskMgmt

构建主体的其他方式

PowertranzBody 类提供从其他方式生成销售主体的另一种方法。

use Schoolaid\Powertranz\Entities\PowertranzCreditCard;
use SchoolAid\Powertranz\Requests\PowertranzBody;

$cc = new PowertranzCreditCard($id, $pan, $cvv, $expDate, $name, ?$billingAddress)

$body = PowertranzBody::fromCreditCard($cc);
$voidBody = PowertranzBody::fromCreditCard($cc, $transactionId, true);

要设置的环境变量

POWERTRANZ_URL=https://staging.ptranz.com/
POWERTRANZ_ID=0000000
POWERTRANZ_PASSWORD=xxxxxxxx
POWERTRANZ_GATEWAY_KEY=xxxxxxx //set only if provided
POWERTRANZ_CALLBACK=https:///authorize