fruitsbytes/php-moncash

用于使用Digicel MonCash的PHP库

v1.1.0 2022-12-11 21:11 UTC

This package is auto-updated.

Last update: 2024-09-12 02:17:47 UTC


README

PHP

🌎 i18n: 🇺🇸🇫🇷🇭🇹

FruitsBytes-Moncash-PHP

一个库,通过他们的API简化在您的PHP项目中集成Digicel MonCash移动货币。目前它处理基本(客户端)用例。商户用例将很快可用。它是FruitsBytes提供的MonCash SDK的一部分。

🍇功能

  • 客户端适配器(支付、转账等)
    • 渲染按钮
    • 支付
    • 转账
  • 流量优化(高级)
  • 安全:密钥管理(高级)
  • 唯一的订单ID生成器
  • 重试(高级)
  • 手机验证(高级)
  • 客户端按钮,无后端(加密,客户端按钮)
  • 商户应用(现金入账、现金出账等)
  • 幂等性(高级)
  • 本地化(高级)
  • 任务(周期性支付、垃圾收集器等)

查看CHANGELOG获取有关破坏性更改和新功能的更多信息。

🍈文档

请查阅Wiki或代码示例

🍉快速开始

安装

composer require fruitsbytes/php-moncash

配置

// index.php

use Fruitsbytes\PHP\MonCash\API\Client;

$client = new Client(
                        [
                            'clientSecret'     => 'my-client-secret',
                            'clientId'         => 'my-client-key',
                            'businessKey'      => 'my-merchant-key',
                        ]
                    );

您可以更新或设置配置

use Fruitsbytes\PHP\MonCash\Configuration\Configuration;

$configuration = new Configuration(["lang"=>"ht"]);
$client = new Client($configuration);

默认无配置值

// src/Configuration/Configuration.php

 const DEFAULT_CONFIG = [
        'mode'             => 'sandbox',
        'lang'             => 'en',
        'clientSecret'     => '', 
        'clientId'         => '',
        'businessKey'      => '',
        'rsaPath'          => './rsa.text',
        'timeout'          => 60,
        'secretManager'    => DefaultSecretManager::class,
        'tokenMachine'     => FileTokenMachine::class,
        'phoneValidation'  => LibPhoneValidation::class,
        'orderIdGenerator' => UUIDOrderIdGenerator::class,
    ];

使用

客户端

对于面向客户端的网站和移动应用,客户端启动支付。

// Create a payment & redirect user
use Fruitsbytes\PHP\MonCash\API\Order;
use Fruitsbytes\PHP\MonCash\API\PaymentFoundResponse;
use Fruitsbytes\PHP\MonCash\API\PaymentFoundResponse;
use Fruitsbytes\PHP\MonCash\APIException;
use Exception;

try{
   $order = new Order($amount); // if you have your own orderID `new  Order($amount, $uuid)` 
   $payment = $client->createAndRedirect($order);
}catch( APIException $e){ 
   $message = $e->getMessage();
}
catch( Exception $e){ 
   $message = $e->getMessage();
}

// get payment by orderID if ypui do not habe the transation ID yet
/**
* @var PaymentFoundResponse
 */
$paymentResult = $client->getPaymentByOrderId($order->id);

// get payment by transactionID when transaction is finished
$transactionId = $_GET['transactionId']

/**
* @var PaymentFoundResponse
 */
$paymentResult = $client->getPaymentByTransactionId($transactionId);

if(!$payment->isSuccessful()){
  throw new \Exception($payment->message);
}

按钮

按钮点击时将创建交易并将用户重定向到

// Generate Button form html code
use Fruitsbytes\PHP\MonCash\Button\ButtonStyleRedResponsive;

$buttonConfig = [
     true, // border
     'em', //  lang
     true, // animate on  hover,
     48 // height
];
$button = new ButtonStyleRedResponsive( $order, $clientConfig, ...$buttonConfig);

$htmlButton = $button->html();
print($htmlButton);

// or Use the \Stringable interface
print $button;

您可以直接渲染模板

$buttonHT = new ButtonStyleRedResponsive( $order, [], true, 'ht');

$buttonHT->render();

按钮配置沙箱

商户

针对收银员或商户的应用程序,此时客户端在交易时在场。它处理现金入账和现金出账场景。

==== 🚧 即将推出 =====

🍊沙箱

==== 🚧 网站即将推出 =====

您可以通过在线检查Postman API或从本存储库导入 .json。

🍍贡献

欢迎所有拉取请求和建议。如果您有特定功能需要实现,请发起拉取请求

🍒测试

当修改时,请使用以下shell命令在此目录中运行测试。

设置.env.testing环境文件的值。

composer phpunit

vendor\bin\phpunit

⚠ 通过不使用生产凭据进行测试来减少凭据泄露的风险。

🍓其他

FruitsBytes MonCash SDK

MonCash 文档

官方仓库

在线视频

🍋安全性

如果您在此软件包中发现安全漏洞,请发送电子邮件至 security@anbapyezanman.com。所有安全漏洞都将尽快解决。您可以在此查看我们的完整安全策略 这里

🍎需要帮助?

不要犹豫,前往讨论页面查看问题是否已得到解决。如有必要,您可以开始新的讨论。

如果您是初创公司、学生或没有咨询费用的预算,需要的时间会更长,但只要这对社区其他成员有益,我们可以提交一个公共仓库,说明您需要的帮助。

请联系我们:help@anbapyezanman.com

企业客户

Fruitsbytes 可以为您的应用程序提供商业支持和维护。节省时间,降低风险,并提高代码质量,同时支付您使用确切依赖项的维护者。

请联系我们:business@anbapyezanman.com

🍏许可证

此库采用 MIT 许可证 许可。

免责声明

* Digicel™、MonCash™、Sogebank™ 以及所有其他商标、标志和品牌名称均为各自所有者的财产。本文档中使用的所有公司、产品和服务名称仅用于识别目的。使用这些名称、商标和品牌并不表示认可。

MonCash™ 是由 Digicel™ 提供的一项移动货币服务,允许 MonCash 用户在无论其位于海地的哪个位置的情况下进行日常交易。Digicel 是移动货币的先驱。他们的金融服务目前正在扩展到其他市场,特别是太平洋岛屿的 MyCash™ [1] [2]