为laravel项目实现Viva Wallet的API

v0.9.0 2022-03-31 08:21 UTC

This package is auto-updated.

Last update: 2024-09-24 03:59:42 UTC


README

PHP Version Laravel Version Latest Version on Packagist GitHub Workflow Status (with branch) GitHub Workflow Status (with branch) Total Downloads

安装步骤

1. 使用composer安装包

composer require deyjandi/laravel-viva-wallet

2. 使用以下命令发布config文件

php artisan vendor:publish --tag="viva-wallet-config"

3. 至少添加以下内容到.env文件中

VIVA_WALLET_MERCHANT_ID=<your-merchant-id>
VIVA_WALLET_API_KEY=<your-api-id>
VIVA_WALLET_CLIENT_ID=<your-smart-checkout-client-id>
VIVA_WALLET_CLIENT_SECRET=<your-smart-checkout-secret>

您可以参考./config/viva-wallet-config.php以获取更多配置选项

用法

使用默认配置创建支付订单

...

use Deyjandi\VivaWallet\Facades\VivaWallet;
use Deyjandi\VivaWallet\Payment;

...

$payment = new Payment($amount = 1000);

$checkoutUrl = VivaWallet::createPaymentOrder($payment);

...

指定每个可配置选项创建支付订单

...

use Deyjandi\VivaWallet\Enums\RequestLang;
use Deyjandi\VivaWallet\Enums\PaymentMethod;
use Deyjandi\VivaWallet\Facades\VivaWallet;
use Deyjandi\VivaWallet\Customer;
use Deyjandi\VivaWallet\Payment;

...

$customer = new Customer(
    $email = 'example@test.com',
    $fullName = 'John Doe',
    $phone = '+306987654321',
    $countryCode = 'GR',
    $requestLang = RequestLang::Greek,
);

$payment = new Payment();

$payment
    ->setAmount(2500)
    ->setCustomerTrns('short description of the items/services being purchased')
    ->setCustomer($customer)
    ->setPaymentTimeout(3600)
    ->setPreauth(false)
    ->setAllowRecurring(true)
    ->setMaxInstallments(3)
    ->setPaymentNotification(true)
    ->setTipAmount(250)
    ->setDisableExactAmount(false)
    ->setDisableCash(true)
    ->setDisableWallet(false)
    ->setSourceCode(1234)
    ->setMerchantTrns('customer order reference number')
    ->setTags(['tag-1', 'tag-2'])
    ->setBrandColor('009688')
    ->setPreselectedPaymentMethod(PaymentMethod::PayPal);

$checkoutUrl = VivaWallet::createPaymentOrder($payment);

...

检索交易

...

use Deyjandi\VivaWallet\Facades\VivaWallet;

...

$transaction = VivaWallet::retrieveTransaction($transactionId);

请求webhook验证密钥

php artisan viva-wallet:webhook-key

webhook验证密钥将自动存储到.env文件中

测试

composer test

更新日志

有关最近更改的更多信息,请参阅更新日志

贡献

有关详细信息,请参阅贡献指南

安全漏洞

有关如何报告安全漏洞的详细信息,请参阅我们的安全策略

致谢

许可证

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