coreproc/paymaya-laravel

Paymaya SDK for Laravel

1.1.0 2021-02-17 07:20 UTC

This package is auto-updated.

Last update: 2024-09-17 14:59:02 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

Paymaya SDK for Laravel

安装

您可以通过composer安装此包

composer require coreproc/paymaya-laravel

您可以使用以下命令发布并运行迁移

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Coreproc\Paymaya\PaymayaServiceProvider" --tag="config"

这是发布配置文件的内容

return [

    'environment' => env('PAYMAYA_ENVIRONMENT', PayMayaClient::ENVIRONMENT_SANDBOX),
    
    'key' => env('PAYMAYA_KEY'),

    'secret' => env('PAYMAYA_SECRET'),

    'webhooks' => [

        'checkout_success' => env('PAYMAYA_WEBHOOKS_CHECKOUT_SUCCESS'),

        'checkout_failure' => env('PAYMAYA_WEBHOOKS_CHECKOUT_FAILURE'),

        'checkout_dropout' => env('PAYMAYA_WEBHOOKS_CHECKOUT_DROPOUT'),

        'payment_success' => env('PAYMAYA_WEBHOOKS_PAYMENT_SUCCESS'),

        'payment_failed' => env('PAYMAYA_WEBHOOKS_PAYMENT_FAILED'),

        'payment_expired' => env('PAYMAYA_WEBHOOKS_PAYMENT_EXPIRED'),

    ],

];

用法

创建支付

use CoreProc\PayMaya\PayMayaClient;
use CoreProc\PayMaya\Requests\Address;
use Coreproc\PaymayaLaravel\Builders\PaymayaCheckoutBuilder;
use Coreproc\PaymayaLaravel\Facades\PaymayaCheckoutClientFacade;

$checkout = PaymayaCheckoutBuilder::make()
    ->setCurrency('PHP')
    ->setItem($paymayaItemModel, 1)
    ->setDiscount(1000)
    ->setServiceCharge(1001)
    ->setShippingFee(1002)
    ->setTax(1003)
    ->setBuyerFirstName('Juan')
    ->setBuyerMiddleName('D')
    ->setBuyerLastName('Dela Cruz')
    ->setBuyerContactPhone('09171231234')
    ->setBuyerContactEmail('juan@gmail.com')
    ->setBuyerShippingAddress(Address::make()->setLine1('123 Daan')->setCity('Quezon City'))
    ->setBuyerBillingAddress(Address::make()->setLine1('456 Highway')->setCity('Makati City'))
    ->setReferenceNumber('100')
    ->setRedirectUrlSuccess('https://yoursite.com/success')
    ->setRedirectUrlFailure('https://yoursite.com/failure')
    ->setRedirectUrlCancel('https://yoursite.com/cancel')
    ->build();

$response = PaymayaCheckoutClientFacade::post($checkout);

$result = PayMayaClient::getDataFromResponse($response);

return redirect()->to($result->redirectUrl);

安装webhooks

php artisan paymaya:install-webhook

此命令将注册配置文件中定义的所有webhooks。要仅注册所需的webhooks,请从数组中删除webhooks。

您还可以使用路由名称引用webhook的回调URL。

<?php
return [
    'webhooks' => [
        'payment_success' => 'hooks.paymaya.success',
        'payment_failed' => 'hooks.paymaya.failed',
        'payment_expired' => 'hooks.paymaya.expired',
    ],
];

贡献

有关详细信息,请参阅CONTRIBUTING

安全漏洞

请查阅我们的安全策略,了解如何报告安全漏洞。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。