adityadarma / laravel-duitku
laravel的duitku支付网关库
1.0.5
2024-06-24 14:45 UTC
Requires
- php: ^8.1
- laravel/framework: ^9.0|^10.0
README
Laravel Duitku是一个提供Duitku支付网关的包。
Laravel安装说明
-
在终端中,从您的项目根目录运行
composer require adityadarma/laravel-duitku
-
安装配置
php artisan duitku:install
配置
Laravel Duitku可以直接在/config/duitku.php
中进行配置。将变量添加到您的.env
文件中。
环境文件
以下是可用的.env
文件变量
DUITKU_ENV=development DUITKU_MERCHANT_CODE=xxxxxxx DUITKU_API_KEY=xxxxxx DUITKU_APDUITKU_CALLBACK_URLI_KEY=https://example.com/callback DUITKU_RETURN_URL=https://example.com/return
API使用
获取支付方式
示例
use AdityaDarma\LaravelDuitku\Facades\DuitkuAPI; $listPayments = DuitkuAPI::getPaymentMethod(1000000);
创建支付
示例
use AdityaDarma\LaravelDuitku\Facades\DuitkuAPI; DuitkuAPI::createTransaction([ 'merchantOrderId' => 10000, 'customerVaName' => 'Aditya Darma', 'email' => 'email@example.com', 'paymentAmount' => 100000, 'paymentMethod' => 'VC', 'productDetails' => 'Buy Company', 'expiryPeriod' => 10, // optional (minute) 'phoneNumber' => '08123456789', // optional 'itemDetails' => [ // optional [ 'name' => 'Test Item 1', 'price' => 10000, 'quantity' => 1 ],[ 'name' => 'Test Item 2', 'price' => 10000, 'quantity' => 1 ] ], 'customerDetail' => [ // optional 'firstName' => 'Aditya', 'lastName' => 'Darma', 'email' => 'email@example.com', 'phoneNumber' => $phoneNumber, 'billingAddress' => $address, 'shippingAddress' => $address ], 'additionalParam' => '', // optional 'merchantUserInfo' => '', // optional ]);
检查交易
示例
use AdityaDarma\LaravelDuitku\Facades\DuitkuAPI; DuitkuAPI::checkTransactionStatus(1000000);
处理回调交易
示例
use AdityaDarma\LaravelDuitku\Facades\DuitkuAPI; $payment = DuitkuAPI::getNotificationTransaction();
POP使用
创建支付
示例
use AdityaDarma\LaravelDuitku\Facades\DuitkuPOP; DuitkuPOP::createTransaction([ 'merchantOrderId' => 10000, 'customerVaName' => 'Aditya Darma', 'email' => 'email@example.com', 'paymentAmount' => 100000, 'productDetails' => 'Buy Company', 'expiryPeriod' => 10, // optional (minute) 'phoneNumber' => '08123456789', // optional 'itemDetails' => [ // optional [ 'name' => 'Test Item 1', 'price' => 10000, 'quantity' => 1 ],[ 'name' => 'Test Item 2', 'price' => 10000, 'quantity' => 1 ] ], 'customerDetail' => [ // optional 'firstName' => 'Aditya', 'lastName' => 'Darma', 'email' => 'email@example.com', 'phoneNumber' => $phoneNumber, 'billingAddress' => $address, 'shippingAddress' => $address ], 'additionalParam' => '', // optional 'merchantUserInfo' => '', // optional ]);
duitku JS弹出窗口模态
- 生产环境
<script src="https://app-prod.duitku.com/lib/js/duitku.js"></script>
- 沙盒
<script src="https://app-sandbox.duitku.com/lib/js/duitku.js"></script>
- 实现
checkout.process("DXXXXS875LXXXX32IJZ7", {
defaultLanguage: "id", //optional
successEvent: function(result){
console.log(result);
alert('Payment Success');
},
pendingEvent: function(result){
console.log(result);
alert('Payment Pending');
},
errorEvent: function(result){
console.log(result);
alert('Payment Error');
},
closeEvent: function(result){
console.log(result);
alert('customer closed the popup without finishing the payment');
}
});
处理回调交易
示例
use AdityaDarma\LaravelDuitku\Facades\DuitkuPOP; $payment = DuitkuPOP::getNotificationTransaction();
许可协议
本软件包遵循MIT许可协议。祝您使用愉快!