aef/payfort

Laravel Payfort 包提供了一个简单的方法将 Payfort 支付服务集成到 Laravel 应用程序中。它提供了如支付重定向、分期付款支持、自定义商户页面集成、Apple Pay 支持、以及定期交易等功能,简化了集成过程。

v1.0.0 2023-09-16 13:57 UTC

This package is auto-updated.

Last update: 2024-09-15 08:46:09 UTC


README

Laravel Payfort 包简化了将 Payfort 支付服务集成到 Laravel 应用程序中的过程。它为将 Payfort 集成到您的 Laravel 项目提供了直接的解决方案,并提供了一系列功能以简化支付流程。

安装

使用此包,您可以通过简单的方式将 Laravel 与 payfort 集成。

    composer require aef/payfort

发布配置文件

    php artisan vendor:publish --provider "Payfort\Providers\PayfortServiceProvider"

配置文件 config/payfort.php 的内容

添加到您的 .env 文件

PAYFORT_USE_SANDBOX=true
PAYFORT_MERCHANT_IDENTIFIER=****
PAYFORT_ACCESS_CODE=*******
PAYFORT_SHA_TYPE=sha512
PAYFORT_SHA_REQUEST_PHRASE=********
PAYFORT_SHA_RESPONSE_PHRASE=**********
PAYFORT_APPLE_ACCESS_CODE=************
PAYFORT_APPLE_SHA_REQUEST_PHRASE=**********
PAYFORT_APPLE_SHA_RESPONSE_PHRASE=***********
PAYFORT_CURRENCY=SAR

购买请求(重定向)

return Payfort::purchase([
            'merchant_reference' => 'XYZ9239',
            'order_description' => 'order',
            'token_name' => "88cd5220-9584-460d-bb2d-0806f93066c1",
            'amount' => 450,
            'customer_email' => 'test@gmail.com',
]);

授权请求(重定向)

return Payfort::authorize([
            'merchant_reference' => 'XYZ9239',
            'order_description' => 'order',
            'token_name' => "88cd5220-9584-460d-bb2d-0806f93066c1",
            'amount' => 450,
            'customer_email' => 'test@gmail.com',
]); 

支付维护操作

return Payfort::payment([
            'merchant_reference' => 'XYZ9239',
            'order_description' => 'order',
            'token_name' => "88cd5220-9584-460d-bb2d-0806f93066c1",
            'amount' => 450,
            'customer_email' => 'test@gmail.com',
            'recurring_mode' => 'VARIABLE',
            'recurring_transactions_count' => 10,
]); 

令牌化

return Payfort::tokenization([
            'merchant_reference' => 'XYZ9239',
            'order_description' => 'order',
            'token_name' => '88cd5220-9584-460d-bb2d-0806f93066c1',
            'customer_email' => 'test@gmail.com',
            'card_number' => 4005550000000001,
            'expiry_date' => 2105,
            'card_security_code' => 123,
            'card_holder_name' => 'testcard',
]); 

Apple Pay 服务

return Payfort::applePay([
            'merchant_reference' => 'XYZ9239',
            'order_description' => 'order',
            'token_name' => '88cd5220-9584-460d-bb2d-0806f93066c1',
            'amount' => 450,
            'customer_email' => 'test@gmail.com',
            'apple_data' => 'paymentData.data',
            'apple_signature' => 'paymentData.signature',
            'customer_ip' => '192.168.1.1',
            'phone_number' => '0123456789',
            'apple_header' => [
                  'apple_transactionId' => 'paymentData.header.transactionId',
                  'apple_ephemeralPublicKey' =>'paymentData.header.ephemeralPublicKey',
                  'apple_publicKeyHash' =>'paymentData.header.publicKeyHash'
                ],
            'apple_paymentMethod' => [
                  'apple_displayName' => 'paymentMethod.displayName',
                  'apple_network' => 'paymentMethod.network',
                  'apple_type' => 'paymentMethod.type'
                ]
]);