mgamal/paymob-laravel

Paymob API与Laravel集成

v1.1.2 2023-01-11 12:39 UTC

This package is auto-updated.

Last update: 2024-09-10 07:31:52 UTC


README

Packagist PHP Version Latest Version on Packagist CI GitHub

这是一个Laravel框架与Paymob API的集成,旨在使开发者更容易在他们的应用程序中使用Paymob功能。

安装

您可以通过composer安装此包

composer require mgamal/paymob-laravel

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

php artisan vendor:publish --tag=config --provider="MG\Paymob\PaymobServiceProvider"

用法

  • 设置Paymob凭据
PAYMOB_API_KEY        = xxxxxxxxxxxxxxxxxxxxxx
PAYMOB_INTEGRATION_ID = xxxxxx
PAYMOB_IFRAME_ID      = xxxxx
PAYMOB_HMAC_SECRET    = xxxxxxxxx

参考:Paymob集成

  • 准备订单项
  • 准备账单数据
  • 准备总订单
  • 使用订单的完整详细信息进行支付:项目、账单数据和总订单。

示例

use MG\Paymob\Paymob;

public function checkout(){
    // Prepare order items
    $orderItems = [
        [
            'name'         => 'Product x',
            'amount_cents' => 100,
            'description'  => 'Product description',
            'quantity'     => 1
        ]
    ];
    
    // Prepare billing data: Fill empty keys with 'N/A'; required!
    $billingData = [
        'first_name'      => 'John',
        'last_name'       => 'Doe',
        'email'           => 'someone@example.com',
        'phone_number'    => '+1xxxxxxxx',
        'apartment'       => 'N/A',
        'floor'           => 'N/A',
        'building'        => 'N/A',
        'street'          => 'N/A',
        'city'            => 'N/A',
        'shipping_method' => 'N/A',
        'country'         => 'N/A',
        'state'           => 'N/A',
    ];
    
    // Prepare order itself
    $orderToPrepare['amount_cents']      = 10;
    $orderToPrepare['merchant_order_id'] = 101;
    $orderToPrepare['items']             = $orderItems;
    $orderToPrepare['billing_data']      = $billingData;

    // Get payment URL
    $paymentUrl = $item->makePayment($orderToPrepare);

    return $paymentUrl;
}