Hướng dẫn tích hợp PayPal Laravel 8

Đăng ngày : 2024-04-27 09:42:54

Hôm nay mình sẽ hướng dẫn các bạn cách cài đặt cổng thanh toán paypal trong ứng dụng laravel 8. chúng tôi sẽ tích hợp api paypal bằng cách sử dụng gói paypal srmklive laravel. chúng ta có thể dễ dàng tích hợp cổng thanh toán paypal trong laravel 8.

Cổng thanh toán Paypal là một cổng phổ biến hơn trong phát triển web. hầu như khách hàng thích sử dụng cổng thanh toán paypal để chuyển tiền trên trang web của mình. Paypal là một cổng chuyển từ thân thiện với người dùng.

Trong hướng dẫn này, chúng tôi sẽ sử dụng gói srmklive cho laravel paypal tích hợp trong laravel 8. Bạn chỉ cần làm theo vài bước để hoàn tất việc tích hợp thanh toán trong php laravel.

Bước 1: Cài đặt Laravel 5.8

Chúng tôi sẽ làm lại từ đầu vì vậy, Nếu bạn chưa cài đặt laravel trong hệ thống của mình thì bạn có thể chạy lệnh dưới đây và tải dự án Laravel mới.

Bước 2: composer require srmklive/paypal:~2.0

composer require srmklive/paypal:~2.0|~3.0

....

Bây giờ chúng tôi yêu cầu cài đặt gói srmklive / paypal để tích hợp paypal, theo cách đó chúng tôi có thể sử dụng phương pháp của nó. Vì vậy, hãy mở thiết bị đầu cuối của bạn và chạy lệnh dưới đây.

Bây giờ, mở tệp config / app.php và thêm nhà cung cấp dịch vụ và bí danh.

config/app.php

'providers' => [

	....

	Srmklive\PayPal\Providers\PayPalServiceProvider::class

]

....

Chúng tôi cũng có thể tùy chỉnh các thay đổi trên gói srmklive / paypal, vì vậy nếu bạn cũng muốn thay đổi thì bạn có thể kích hoạt lệnh dưới đây và lấy tệp cấu hình trong config / paypal.php.

php artisan vendor:publish --provider "Srmklive\PayPal\Providers\PayPalServiceProvider"

Bạn có thể xem tệp paypal.php như dưới đây:

config/paypal.php

<?php

/**

 * PayPal Setting & API Credentials

 * Created by Raza Mehdi .

 */

     

return [

    'mode'    => env('PAYPAL_MODE', 'sandbox')

    'sandbox' => [

        'username'    => env('PAYPAL_SANDBOX_API_USERNAME', ''),

        'password'    => env('PAYPAL_SANDBOX_API_PASSWORD', ''),

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

        'certificate' => env('PAYPAL_SANDBOX_API_CERTIFICATE', ''),

        'app_id'      => 'APP-80W284485P519543T',

    ],

    'live' => [

        'username'    => env('PAYPAL_LIVE_API_USERNAME', ''),

        'password'    => env('PAYPAL_LIVE_API_PASSWORD', ''),

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

        'certificate' => env('PAYPAL_LIVE_API_CERTIFICATE', ''),

        'app_id'      => '',

    ],

    'payment_action' => 'Sale',

    'currency'       => env('PAYPAL_CURRENCY', 'USD'),

    'billing_type'   => 'MerchantInitiatedBilling',

    'notify_url'     => '',

    'locale'         => '',

    'validate_ssl'   => false,

];

Bước 3: Tạo các Routes

Ở đây, chúng ta cần thêm tuyến tài nguyên cho cổng thanh toán paypal. vì vậy hãy mở tệp "route / web.php" của bạn và thêm route sau.

route / web.php

Route::get('payment', 'PayPalController@payment')->name('payment');
Route::get('cancel', 'PayPalController@cancel')->name('payment.cancel');
Route::get('payment/success', 'PayPalController@success')->name('payment.success');

Bước 4: Tạo bộ điều khiển PayPalController

Trong bước này, bây giờ chúng ta nên tạo bộ điều khiển mới là PayPalController. Vì vậy, chạy lệnh dưới đây và tạo bộ điều khiển mới. bộ điều khiển dưới đây để tạo với một số phương pháp.

php artisan make:controller PayPalController

Sau lệnh dưới đây, bạn sẽ tìm thấy tệp mới trong đường dẫn này "app / Http / Controllers / PayPalController.php".

app / Http / Controllers / PayPalController.php
<?php
  
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
use Srmklive\PayPal\Services\ExpressCheckout;
   
class PayPalController extends Controller
{
    /**
     * Responds with a welcome message with instructions
     *
     * @return \Illuminate\Http\Response
     */
    public function payment()
    {
        $data = [];
        $data['items'] = [
            [
                'name' => 'ItSolutionStuff.com',
                'price' => 100,
                'desc'  => 'Description for ItSolutionStuff.com',
                'qty' => 1
            ]
        ];
  
        $data['invoice_id'] = 1;
        $data['invoice_description'] = "Order #{$data['invoice_id']} Invoice";
        $data['return_url'] = route('payment.success');
        $data['cancel_url'] = route('payment.cancel');
        $data['total'] = 100;
  
        $provider = new ExpressCheckout;
  
        $response = $provider->setExpressCheckout($data);
  
        $response = $provider->setExpressCheckout($data, true);
  
        return redirect($response['paypal_link']);
    }
   
    /**
     * Responds with a welcome message with instructions
     *
     * @return \Illuminate\Http\Response
     */
    public function cancel()
    {
        dd('Your payment is canceled. You can create cancel page here.');
    }
  
    /**
     * Responds with a welcome message with instructions
     *
     * @return \Illuminate\Http\Response
     */
    public function success(Request $request)
    {
        $response = $provider->getExpressCheckoutDetails($request->token);
  
        if (in_array(strtoupper($response['ACK']), ['SUCCESS', 'SUCCESSWITHWARNING'])) {
            dd('Your payment was successfully. You can create success page here.');
        }
  
        dd('Something is wrong.');
    }
}

Bước 5: Tạo tệp Blade

Trong bước này, chúng ta cần cập nhật tệp tin welcome.blade.php. trong tệp này, chúng tôi sẽ đặt một nút cho cổng thanh toán paypal. vì vậy hãy đặt mã dưới đây:

resource / views / products / welcome.blade.php
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
  
        <title>Laravel 5.8 PayPal Integration Tutorial - ItSolutionStuff.com</title>
  
        <!-- Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha256-YLGeXaapI0/5IgZopewRJcFXomhRMlYYjugPLSyNjTY=" crossorigin="anonymous" />
  
        <!-- Styles -->
        <style>
            html, body {
                background-color: #fff;
                color: #636b6f;
                font-family: 'Nunito', sans-serif;
                font-weight: 200;
                height: 100vh;
                margin: 0;
            }
            .content {
                margin-top: 100px;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <div class="flex-center position-ref full-height">
  
            <div class="content">
                <h1>Laravel 5.8 PayPal Integration Tutorial - ItSolutionStuff.com</h1>
                  
                <table border="0" cellpadding="10" cellspacing="0" align="center"><tr><td align="center"></td></tr><tr><td align="center"><a href="https://www.paypal.com/in/webapps/mpp/paypal-popup" title="How PayPal Works" onclick="javascript:window.open('https://www.paypal.com/in/webapps/mpp/paypal-popup','WIPaypal','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=1060, height=700'); return false;"><img src="https://www.paypalobjects.com/webstatic/mktg/Logo/pp-logo-200px.png" border="0" alt="PayPal Logo"></a></td></tr></table>
  
                <a href="{{ route('payment') }}" class="btn btn-success">Pay $100 from Paypal</a>
  
            </div>
        </div>
    </body>
</html>

Bước 6: Cấu hình

Trong bước này, chúng tôi sẽ đặt giá trị cấu hình như tên người dùng paypal, khóa bí mật và chứng chỉ trong tệp .env.

.env

PAYPAL_MODE=sandbox

PAYPAL_SANDBOX_API_USERNAME=sb-e2n47..

PAYPAL_SANDBOX_API_PASSWORD=XKCGW...

PAYPAL_SANDBOX_API_SECRET=A0EXIz....

PAYPAL_CURRENCY=INR

PAYPAL_SANDBOX_API_CERTIFICATE=

Bạn có thể xem ảnh chụp màn hình bên dưới để biết chi tiết ở trên:

You can see bellow screen shot for getting above details:

Bây giờ chúng ta đã sẵn sàng chạy ví dụ ứng dụng này với laravel 5.8, vì vậy hãy chạy lệnh dưới đây để chạy nhanh:

php artisan serve

Bây giờ bạn có thể mở URL bên dưới trên trình duyệt của mình:

http://localhost:8000/

Tôi hy vọng bài viết này có thể giúp bạn....

 



CÔNG TY THIẾT KẾ WEBSITE CHUYÊN NGHIỆP

Kết nối với chúng tôi