fruitsbytes / php-moncash
用于使用Digicel MonCash的PHP库
Requires
- php: >=8.0
- ext-bcmath: *
- ext-curl: *
- ext-json: *
- ext-openssl: *
- giggsey/libphonenumber-for-php: ^8.12
- ramsey/uuid: ^4.5
- vlucas/phpdotenv: ^5.5
Requires (Dev)
- jetbrains/phpstorm-attributes: ^1.0
- phpunit/phpunit: ^9.5.26
This package is auto-updated.
Last update: 2024-09-12 02:17:47 UTC
README
一个库,通过他们的API简化在您的PHP项目中集成Digicel MonCash移动货币。目前它处理基本(客户端)用例。商户用例将很快可用。它是FruitsBytes提供的MonCash SDK的一部分。
🍇功能
- 客户端适配器(支付、转账等)
- 渲染按钮
- 支付
- 转账
- 流量优化(高级)
- 安全:密钥管理(高级)
- 唯一的订单ID生成器
- 重试(高级)
- 手机验证(高级)
- 客户端按钮,无后端(加密,客户端按钮)
- 商户应用(现金入账、现金出账等)
- 幂等性(高级)
- 本地化(高级)
- 任务(周期性支付、垃圾收集器等)
查看CHANGELOG获取有关破坏性更改和新功能的更多信息。
🍈文档
🍉快速开始
安装
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 文档
- 客户端 Rest API(面向客户端的用户界面)
- 商户 Rest API(管理员/商户面向UI)
- 仪表板:沙箱(测试)| 生产(实时)
官方仓库
- ecelestin/ ecelestin-Moncash-sdk-php ✍ ing. Enadyre celeste
在线视频
🍋安全性
如果您在此软件包中发现安全漏洞,请发送电子邮件至 security@anbapyezanman.com。所有安全漏洞都将尽快解决。您可以在此查看我们的完整安全策略 这里。
🍎需要帮助?
不要犹豫,前往讨论页面查看问题是否已得到解决。如有必要,您可以开始新的讨论。
如果您是初创公司、学生或没有咨询费用的预算,需要的时间会更长,但只要这对社区其他成员有益,我们可以提交一个公共仓库,说明您需要的帮助。
请联系我们:help@anbapyezanman.com
企业客户
Fruitsbytes 可以为您的应用程序提供商业支持和维护。节省时间,降低风险,并提高代码质量,同时支付您使用确切依赖项的维护者。
请联系我们:business@anbapyezanman.com
🍏许可证
此库采用 MIT 许可证 许可。
免责声明
* Digicel™、MonCash™、Sogebank™ 以及所有其他商标、标志和品牌名称均为各自所有者的财产。本文档中使用的所有公司、产品和服务名称仅用于识别目的。使用这些名称、商标和品牌并不表示认可。
MonCash™ 是由 Digicel™ 提供的一项移动货币服务,允许 MonCash 用户在无论其位于海地的哪个位置的情况下进行日常交易。Digicel 是移动货币的先驱。他们的金融服务目前正在扩展到其他市场,特别是太平洋岛屿的 MyCash™ [1] [2]