adisaf/laravel-perfectmoney

Laravel 的 PHP PerfectMoney 集成

1.0.0 2020-08-17 17:31 UTC

This package is auto-updated.

Last update: 2024-09-27 13:58:54 UTC


README

Latest Version on Packagist Software License Total Downloads

安装

通过 Composer

$ composer require adisaf/laravel-perfectmoney

##配置

发布配置文件

php artisan vendor:publish --provider="Adisaf\LaravelPerfectMoney\ServiceProvider" --tag="config"

编辑 .env 文件

在 .env 文件中添加以下行,配置描述请参考 config/perfectmoney.php。

PM_ACCOUNTID=100000
PM_PASSPHRASE=your_pm_password
PM_MARCHANTID=U123456
PM_MARCHANT_NAME="My Company"
PM_UNITS=USD
PM_ALT_PASSPHRASE=your_alt_passphrase
PM_PAYMENT_URL=http://example.com/success
PM_PAYMENT_URL_METHOD=null
PM_NOPAYMENT_URL=http://example.com/fail
PM_NOPAYMENT_URL_METHOD=null
PM_STATUS_URL=null
PM_SUGGESTED_MEMO=null

##自定义视图(可选)

如果您想自定义表单,请按照以下步骤操作。

1. 发布视图

php artisan vendor:publish --provider="Adisaf\LaravelPerfectMoney\ServiceProvider" --tag="views"

2. 在 /resources/views/vendor/perfectmoney/perfectmoney.php 中编辑您的视图

使用方法

###渲染购物车表单

PerfectMoney::render();

有时您需要自定义支付表单。只需将参数传递给渲染方法即可。

PerfectMoney::render(['PAYMENT_UNITS' => 'EUR'], 'custom_view');

API 模块

获取余额

$pm = new PerfectMoney;
$balance = $pm->getBalance();

if($balance['status'] == 'success')
{
	return $balance['USD'];
}

发送资金

// Required Fields
$amount = 10.00;
$sendTo = 'U1234567';

// Optional Fields
$description = 'Optional Description for send money';
$payment_id = 'Optional_payment_id';

$pm = new PerfectMoney;

// Send Funds with all fields
$sendMoney = $pm->getBalance($amount, $sendTo, $description, $payment_id);
if($sendMoney['status'] == 'success')
{
	// Some code here
}

// Send Funds with required fields
$sendMoney = $pm->getBalance($amount, $sendTo);
if($sendMoney['status'] == 'error')
{
	// Payment Failed
	return $sendMoney['message'];
}

安全性

如果您发现任何与安全相关的问题,请通过电子邮件 adisa.fawaz@gmail.com 通知,而不是使用问题跟踪器。

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件