blessdarah / php-campay
PHP 对 campay momo 集成的包装包
dev-main
2024-07-17 20:52 UTC
Requires
- guzzlehttp/guzzle: ^7.0
- nesbot/carbon: ^3.5
- vlucas/phpdotenv: ^5.4
Requires (Dev)
- pestphp/pest: ^2.34
This package is auto-updated.
Last update: 2024-09-17 21:11:23 UTC
README
这是一个 campay API 的 PHP 包装器,它使 momo 与 PHP 和 Campay 的无缝集成成为可能。
要求
此包从 php@7.4 版本开始支持,并向上。请确保您已安装最新版本的 PHP。
如何安装此包
要安装此包,请运行
composer require blessdarah/php-campay:dev-main
当包稳定时,请使用以下命令。
composer require blessdarah/php-campay
用法
此包会自动管理所有与 campay 交易相关的令牌。
配置
此包使用 dotenv 包,因此如果您不使用像 laravel 这样自动加载环境变量的框架,您可以按照以下方式设置:
- 如果您还没有,请在项目的根目录下创建一个
.env文件 - 从您的 campay 控制台复制应用程序的
username和password,并按如下方式添加它们:
CAMPAY_USERNAME="YOUR CAMPAY APPLICATION USERNAME" CAMPAY_PASSWORD="YOUR CAMPAY APPLICATION PASSWORD"
- 在您的
index.php文件或根应用程序入口点中,您必须加载dotenv包
require_once "vendor/autoload.php"; use BlessDarah\PhpCampay\Campay; use Dotenv\Dotenv; $dotenv = Dotenv::createImmutable(__DIR__); $dotenv->load();
如果您不使用 composer,可以忽略上述步骤,并使用 PHP 全局 $_ENV 来设置您的 .env 变量,如下设置您的 campay 配置:
$_ENV['CAMPAY_USERNAME']="YOUR CAMPAY APPLICATION USERNAME" $_ENV['CAMPAY_PASSWORD']="YOUR CAMPAY APPLICATION PASSWORD"
配置 campay 基础 URL
$_ENV['CAMPAY_BASE_URL']="https://demo.campay.net/api/" # for local testing or $_ENV['CAMPAY_BASE_URL']="https://campay.net/api/" # for production
注意:您应该确保不要将配置变量暴露在网上,因为这将是您的应用程序的一个潜在安全问题
收集付款
use BlessDarah\PhpCampay\Campay; $campay = new Campay(); $data = array( "amount" => 3, "currency" => "XAF", "from" => "237******", "description" => "test payment" ); $res = $campay->collect($data); // handle your response data from here echo $res;
提现资金
对于提现,我们使用 withdraw 函数
use BlessDarah\PhpCampay\Campay; $campay = new Campay(); $data = array( "amount" => 3, "currency" => "XAF", "to" => "237******", "description" => "test payment" ); $res = $campay->widthdraw($data); echo $res;
上述响应包含交易的信息和 reference,这将使您能够使用 getTransactionStatus 函数检查其状态
检查交易状态
在使用 collect 或 withdraw 函数后检查交易状态时,您可以通过传递结果引用键来检查您的交易状态
use BlessDarah\PhpCampay\Campay; $campay = new Campay(); /* * Suppose you have carried out a collection request from user then you can * collection logic here * / $ref = $res->reference; // e.g: b1d44bc7-648d-451b-a3ef-c5807738ec82 $transaction_feedback = $campay->getTransactionStatus($ref) /* your reference code */ if($transaction_feedback->status == 'SUCCESSFUL') { /* success logic here */ } if($transaction_feedback->status == 'PENDING') { /* Pending logic here */ } if($transaction_feedback->status == 'FAILED') { /* Erro logic here */ }
获取您的应用程序余额
use BlessDarah\PhpCampay\Campay; $campay = new Campay(); $res = $campay->getAppBalance(); // handle your response data from here echo $res;
以间隔获取交易历史
默认情况下,您的交易历史将返回您应用程序过去 7 天 或一周的所有交易
use BlessDarah\PhpCampay\Campay; $campay = new Campay(); $res = $campay->transactionHistory(); // handle your response data from here echo $res;
如果您想具体指定日期,可以像这样传递您的 start 和 end 日期:
$start_date = new Date("2022-06-13"); $end_date = new Date("2022-08-13"); $res = $campay->transactionHistory($start_date, $end_date);
生成付款链接
根据 campay 文档,您可以为付款生成一个付款链接或 URL,可以用于付款。以下是操作方法:
use BlessDarah\PhpCampay\Campay; $campay = new Campay(); $params = [ "amount" => 4, "currency" => "XAF", "description" => "Sample description", "first_name" => "John", "last_name" => "Doe", "email" => "example@mail.com", "external_reference" => "", "redirect_url" => "https://example.com", "failure_redirect_url" => "https://example.com", "payment_options" => "MOMO" // or CARD for credit card payments ]; $res = $campay->generatePaymentUrl($params); // handle your response data from here echo $res;