gobliggg / php-jenius

PHP 对 Jenius BTPN 支付 API 的封装。

dev-master 2020-10-13 01:44 UTC

This package is auto-updated.

Last update: 2024-09-13 10:15:32 UTC


README

Build Status codecov Scrutinizer Code Quality Latest Stable Version Latest Unstable Version Total Downloads

Jenius BTPN

用于将您的应用程序与 Jenius BTPN 系统集成的原生 PHP 库。有关更详细和完整的文档,请访问其官方网站 Developer Jenius

如果您觉得这个库很有帮助,请不要忘记为这个库 STAR。

PHP 版本支持

  • PHP 5.4.x
  • PHP 5.5.x
  • PHP 5.6.x
  • PHP 7.0.x
  • PHP 7.1.x
  • PHP 7.2.x
  • PHP 7.3.x

更多详情请访问 PHP Jenius TravisCI

库功能

安装

composer require "gobliggg/php-jenius"

连接和设置

在进入 登录 阶段之前,请确保您已了解所有需求,如 X_CHANNEL_ID, CLIENT_KEY, CLIENT_SECRET, API_KEY, SECRET_KEY

    $options = array(
        'scheme'        => 'https',
        'port'          => 443,
        'host'          => 'apidev.btpn.com',
        'timezone'      => 'Asia/Jakarta',
        'timeout'       => 30,
        'debug'         => true,
        'development'   => true
    );

    // Setting default timezone Anda
    \Jenius\JeniusHttp::setTimeZone('Asia/Jakarta');

    // ATAU

    // \Jenius\JeniusHttp::setTimeZone('Asia/Singapore');

    $x_channel_id = "NILAI-X-CHANNEL-ID-ANDA";
    $client_key = "NILAI-CLIENT-KEY-ANDA";
    $client_secret = "NILAI-CLIENT-SECRET-ANDA";
    $apikey = "NILAI-APIKEY-ANDA";
    $secret = "SECRETKEY-ANDA";

    $jenius = new \Jenius\JeniusHttp($x_channel_id, $client_key, $client_secret, $apikey, $secret);

    // ATAU

    $jenius = new \Jenius\JeniusHttp($x_channel_id, $client_key, $client_secret, $apikey, $secret, $options);

使用自定义 Curl 选项

    $options = array(
        'curl_options'  => array(
            CURLOPT_SSL_VERIFYHOST => 0,
            CURLOPT_SSLVERSION => 6,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_TIMEOUT => 60
        ),
        'scheme'        => 'https',
        'port'          => 443,
        'host'          => 'apidev.btpn.com',
        'timezone'      => 'Asia/Jakarta',
        'timeout'       => 30,
        'debug'         => true,
        'development'   => true
    );

    // Setting default timezone Anda
    \Jenius\JeniusHttp::setTimeZone('Asia/Jakarta');

    // ATAU

    // \Jenius\JeniusHttp::setTimeZone('Asia/Singapore');

    $x_channel_id = "NILAI-X-CHANNEL-ID-ANDA";
    $client_key = "NILAI-CLIENT-KEY-ANDA";
    $client_secret = "NILAI-CLIENT-SECRET-ANDA";
    $apikey = "NILAI-APIKEY-ANDA";
    $secret = "SECRETKEY-ANDA";

    $jenius = new \Jenius\JeniusHttp($x_channel_id, $client_key, $client_secret, $apikey, $secret, $options);

登录

    $x_channel_id = "NILAI-X-CHANNEL-ID-ANDA";
    $client_key = "NILAI-CLIENT-KEY-ANDA";
    $client_secret = "NILAI-CLIENT-SECRET-ANDA";
    $apikey = "NILAI-APIKEY-ANDA";
    $secret = "SECRETKEY-ANDA";

    $jenius = new \Jenius\JeniusHttp($x_channel_id, $client_key, $client_secret, $apikey, $secret);

    // Request Login dan dapatkan nilai OAUTH
    $response = $jenius->httpAuth();

    // Cek hasil response berhasil atau tidak
    echo json_encode($response);

登录成功后,请确保您已将 TOKEN 保存到安全的地方,因为该 TOKEN 将用于后续操作。

支付请求

请确保您已获取到 TOKEN 并且该 TOKEN 仍然有效(未过期)。

    // Ini adalah nilai token yang dihasilkan saat login
    $token = "MvXPqa5bQs5U09Bbn8uejBE79BjI3NNCwXrtMnjdu52heeZmw9oXgB";
    
    $amount = '50000';

    // Cashtag jenius btpn
    $cashTag = '$getha36';

    // Kode promo 
    $promoCode = '';

    // Url Callback ketika pembayaran sudah dilakukan, silahkan disesuaikan
    $urlCallback = "http://www.mocky.io/v2/5c7cdb361000009c14760c5b";

    // Deskripsi pembayaran, silahkan disesuaikan
    $purchaseDesc = "";

    // Tanggal transaksi anda
    $createdAt = "2020-09-26T21:14:07";
    
   // Nomor Transaksi anda, Silahkan generate sesuai kebutuhan anda
    $referenceNo = "";

    $response = $jenius->paymentRequest(
            $token,
            $amount,
            $cashTag,
            $promoCode,
            $urlCallback,
            $purchaseDesc,
            $createdAt,
            $referenceNo);

    // Cek hasil response berhasil atau tidak
    echo json_encode($response);

支付状态

请确保您已获取到 TOKEN 并且该 TOKEN 仍然有效(未过期)。

    // Ini adalah nilai token yang dihasilkan saat login
    $token = "MvXPqa5bQs5U09Bbn8uejBE79BjI3NNCwXrtMnjdu52heeZmw9oXgB";

    // Nomor Transaksi anda, Silahkan generate sesuai kebutuhan anda
    $referenceNo = "";

    // Tanggal transaksi anda
    $createdAt = "2020-09-26T21:14:07";

    $response = $jenius->paymentStatus(
            $token,
            $referenceNo,
            $createdAt);

    // Cek hasil response berhasil atau tidak
    echo json_encode($response);

支付退款

请确保您已获取到 TOKEN 并且该 TOKEN 仍然有效(未过期)。

    // Ini adalah nilai token yang dihasilkan saat login
    $token = "MvXPqa5bQs5U09Bbn8uejBE79BjI3NNCwXrtMnjdu52heeZmw9oXgB";

    // Ini adalah nilai approval code yang dihasilkan saat payment status
    $approvalCode = "";

    // Nomor Transaksi anda, Silahkan generate sesuai kebutuhan anda
    $referenceNo = "";

    $amount = "50000";

    // Tanggal transaksi anda
    $createdAt = "2020-09-26T21:14:07";

    $response = $jenius->paymentRefund(
            $token,
            $approvalCode,
            $referenceNo,
            $amount,
            $createdAt);

    // Cek hasil response berhasil atau tidak
    echo json_encode($response);

测试

要进行测试,请执行以下命令:

composer run-script test

或者使用 PHPUnit

vendor/bin/phpunit --verbose --coverage-text

如何贡献

  • 进行 分支
  • 分支 添加到您的 git remote 中。

例如:

git remote add fork git@github.com:$USER/php-jenius.git  # Tambahkan fork pada remote, $USER adalah username GitHub anda

假设

git remote add fork git@github.com:johndoe/php-jenius.git
  • 分支后,创建一个新的 feature branch,方法如下:
git checkout -b feature/my-new-feature origin/develop 
  • 在该 repository 上进行工作。
  • 在进行提交之前,请使用以下 PSR-2 编码风格指南 格式化您的代码。
  • 完成后进行提交。
git commit -am 'Menambahkan fitur A..B..C..D'
  • 将更改推送到您创建的 branch。
git push fork feature/my-new-feature
  • 在 GitHub 上创建 PullRequest,我们将在您的工作完成后进行审查。完成。

指南

  • 遵循 PSR-2 编码风格指南
  • 确保所有进行的测试都已通过,如果您添加了新功能,您必须为该功能创建相关的单元测试。
  • 使用 rebase 避免冲突和合并代码
  • 如果您添加了功能,可能还需要更新本 repository 中的文档页面。

许可

MIT 许可证

版权所有 (c) 2019 gobliggg

以下条件下,任何人都可以免费获得此软件及其相关文档副本(“软件”)的副本,用于处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向提供软件的人员这样做,但受以下条件限制:

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

本软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论该责任源于合同行为、侵权或其他,与软件或软件的使用或其他相关事宜无关。