paydia/paydia-snap-php

Paydia SNAP QR API 的 PHP 包装器。

1.0.0 2024-03-26 05:02 UTC

This package is auto-updated.

Last update: 2024-09-26 06:09:27 UTC


README

这是 Paydia SNAP QRIS API 的官方 PHP 包装器/库,兼容 Composer。有关产品的更多信息,请访问 https://paydia.id,有关更多技术细节,请参阅 https://snap-docs.paydia.id 上的文档。

1. 安装

1.a Composer 安装

如果您使用 Composer,您可以通过 composer CLI 安装

composer require paydia/paydia-snap-php

或者

将此 require 行添加到您的 composer.json 文件中

{
    "require": {
        "paydia/paydia-snap-php": "1.*"
    }
}

然后在您的终端上运行 composer install

1.b 手动安装

如果您不使用 Composer,您可以克隆或 下载 此存储库。

然后您应该在您的代码中引入 PaydiaSNAP.php 文件。

<?php
require_once dirname(__FILE__) . '/pathofproject/PaydiaSNAP.php';

// my code goes here

2. 入门

2.1 通用设置

<?php
    use PaydiaSNAP\Config;

    // Set to Enable Sandbox/Production Enviroment. Set to true for Production Environment
    Config::enableProduction(false);

    // Set your Merchant Client Id
    Config::setClientId("<your client id>");
    // Set your Merchant Client Secret
    Config::setClientSecret("<your client secret>");
    // Set your Merchant Private Key. Private Key in String Format, can use https://www.samltool.com/format_privatekey.php for formatting Private Key as String
    Config::setPrivateKey("<your private key>");

2.2 请求访问令牌

<?php
    use PaydiaSNAP\Auth;

    // Timestamp in ISO-8601 (Optional Parameter)
    $timestamp = '';

    $accessToken = Auth::getAccessTokenB2b($timestamp);

2.3 请求 QRIS MPM

有关请求和响应的更多信息,请参阅 https://snap-docs.paydia.id/snap-service/qris-mpm-acquirer/ 上的文档。

<?php
    use PaydiaSNAP\Mpm;

    // Access Token from Access Token B2B
    $accessToken = '';
    // Request Generate QR MPM, see documentation for detail request
    $request = array(
        ...
    );
    // External Id Request (Optional Parameter)
    $externalId = '';
    // Timestamp in ISO-8601 (Optional Parameter)
    $timestamp = '';

    // Request Generate QR MPM
    $generateQr = Mpm::generateQr($accessToken, $request, $externalId, $timestamp);

    // Request Status Inquiry
    $checkStatus = Mpm::checkStatusQr($accessToken, $request, $externalId, $timestamp);