laravel-paynamics / paygate
Laravel 10和11版本的Paynamics Paygate SDK服务提供者
1.0.3
2024-08-26 08:27 UTC
Requires
- php: ^8.1|^8.2
- illuminate/support: ^10.0|^11.0
This package is not auto-updated.
Last update: 2024-09-24 06:59:19 UTC
README
一个用于Paynamics PayGate API的Laravel PHP库
安装
composer require laravel-paynamics/paygate
使用
初始化客户端
纯PHP
$client = new \Laravel\Paynamics\Paygate\Client([
'merchant_id' => 'YOUR MERCHANT ID,
'merchant_key' => 'YOUR MERCHANT KEY',
'sandbox' => (true|false),
'sandbox_url' => 'TESTING URL',
'production_url' => 'PRODUCTION URL',
]);
创建请求体
请参考API文档中的请求体参数。
$requestBody = new \Laravel\Paynamics\Paygate\RequestBody([
'request_id' => substr(uniqid(), 1, 13),
'fname' => 'Paynamics',
'lname' => 'Buyer',
'address1' => '101 Oval St.',
'city' => 'Pasig City',
'state' => 'Metro Manila',
'country' => 'PH',
'zip' => '1600',
'email' => 'buyer@example.com',
'phone' => '+63 123 4567',
'mobile' => '+63 999 123 4567',
'currency' => 'PHP',
'descriptor_note' => 'PayGate Sample Merchant',
'notification_url' => 'http://example.com/notify',
'response_url' => 'http://example.com/success',
'cancel_url' => 'http://example.com/cancel',
'mtac_url' => 'http://example.com/tnc',
'mlogo_url' => 'http://example.com/assets/logo.png',
]);
创建商品组和添加商品
使用addItem
方法逐个添加商品详情(名称、数量、金额)。
$items = new \Paynamics\Paygate\ItemGroup;
$items->addItem([
'name' => 'Sample Item',
'quantity' => 1,
'amount' => 100,
]);
将商品组设置到请求体中
这将根据请求体绑定商品,并计算其总金额。
$requestBody->setItemGroup($items);
执行
Client
的所有请求将返回一个字符串形式的自动提交表单。
$client->responsivePayment($requestBody);
Laravel支持
- 将提供者添加到
config/app.php
。
Laravel\Paynamics\Paygate\Laravel\ServiceProvider::class
- 将外观添加到
config/app.php
。
'Paygate' => Laravel\Paynamics\Paygate\Laravel\Facades\Paygate::class
- 执行
php artisan vendor:publish --tag=config
- 将以下内容添加到您的
.env
文件中
PAYGATE_MERCHANT_ID=<YOUR MERCHANT ID>
PAYGATE_MERCHANT_KEY=<YOUR MERCHANT KEY>
PAYGATE_SANDBOX=<TRUE|FALSE>
PAYGATE_SANDBOX_URL=<PAYNAMICS_TESTING_URL>
PAYGATE_PRODUCTION_URL=<PAYNAMICS_PRODUCTION_URL>
PAYNAMICS_SERVER_IP_ADDRESS=<PAYNAMICS_SERVER_IP_ADDRESS>