obanach/zen-php-sdk

PHP客户端库,用于通过ZEN.COM API创建结账和IPN验证

1.0 2023-03-16 22:42 UTC

This package is auto-updated.

Last update: 2024-09-17 02:13:49 UTC


README

PHP客户端库,用于通过ZEN.COM API创建和检索支付

安装

composer require obanach/zen-php-sdk

使用方法

创建结账

use Zen\ZenClient;

$client = new ZenClient('PAYWALL_SECRET', 'IPN_SECRET', 'TERMINAL_UUID');

$checkout = $client->createCheckout([
    'merchantTransactionId' => 'myCustomTransactionId',
    'amount' => 10.00,
    'currency' => 'PLN',
    'customer' => [
        'firstName' => 'John',
        'lastName' => 'Doe',
        'email' => 'john@example.com'
    ],
    'items' => [
        [
            'code' => 't-shirt',
            'name' => 'Blue t-shirt',
            'price' => 10.00,
            'quantity' => 1,
            'lineAmountTotal' => 10.00,
        ]
    ]
]);

if ($checkout->getStatus()) {
    $checkout->getCheckoutUrl();
} else {
    $checkout->getMessage();
}

验证IPN

use Zen\ZenClient;

$client = new ZenClient('PAYWALL_SECRET', 'IPN_SECRET', 'TERMINAL_UUID');

// raw json data received from IPN
$json = '{"merchantTransactionId":"myCustomTransactionId","amount":"10.00","currency":"EUR","status":"PAID","hash":"5CD4255C8BEE2A45ADF57DA13CADCA406FF4C5D2A1046E5EF719890A8FB09807"}'

$validate = $client->validateIpn($json);

if ($validate->getStatus()) {
    // validate on your own if currency and amount are correct
    $validate->getMerchantTransactionId();
    $validate->getCurrency();
    $validate->getAmount();
    $validate->getPaymentStatus();
} else {
    // handle error
    $validate->getMessage();
}

API文档

查看官方zen.com的API文档

许可证

MIT许可证。