• Contact Us
Wednesday, December 21, 2022
-18 °c
Teman Ngoding
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English
No Result
View All Result
Teman Ngoding
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English
No Result
View All Result
Plugin Install : Cart Icon need WooCommerce plugin to be installed.
Teman Ngoding
No Result
View All Result

Integrasi Paypal Payment Gateway Dengan Laravel

admin by admin
August 22, 2022
in Laravel, Tutorial
0 0
0
Home Tutorial Laravel

This post is also available in: English

Hallo apa kabar teman semuanya, semoga sehat dan sukses selalu. Kali ini kita akan bahas cara menghubungkan Paypal dengan Laravel. Tutorial ini sangat bermanfaat untuk kalian yang memiliki website penjualan.

Paypal adalah metode pembayaran internasional yang bekerja di sebagian besar negara yang mendukung transfer uang online. Paypal menyediakan cara transfer uang yang lebih cepat dan aman. Karena popularitasnya, sebagian besar bisnis e-commerce menggunakan Paypal untuk mengumpulkan uang dari pelanggan.

Pada artikel ini, kami akan mengintegrasikan gateway pembayaran Paypal ke dalam aplikasi Laravel. Ini adalah situs web e-commerce yang membantu menggunakan kerangka kerja Laravel sebagai teknologi backend. Kami akan melalui langkah demi langkah dari awal.

Ikutilah langkah-langkah di bawah ini:

  1. Buat Project Baru
  2. Instal Paket untuk Gateway Pembayaran Paypal Menggunakan Composer
  3. Buat akun dan Paypal credentioals
  4. Konfigurasikan paket
  5. Buat Routes
  6. Buat file blade untuk membuat tombol pembayaran
  7. Jalankan aplikasi

Kita langsung saja bahas tutorialnya di bawah ini. Baca juga tutorial yang lainnya di sini:

Error Handling in Laravel

Laravel Tutorial ~ Laravel Eloquent Relationships

Creating Ratings and Reviews With Laravel

1. Buat project baru

Buat project baru dengan perintah seperti di bawah ini.

composer create-project laravel/laravel paypal --prefer-dist

setelah project baru selesai di buat, maka masuk ke directori project kalian.

cd paypal

2. Instal Paket untuk Gateway Pembayaran Paypal Menggunakan Composer

Jalankan perintah berikut ini.

kita akan install Laravel-Paypal untuk laravel 6,7, & 8

composer require srmklive/paypal:~3.0

3. Buat akun dan Paypal credentioals

Setelah menginstal paket paypal, kami memerlukan client_id dan secret_key untuk integrasi paypal, jadi kami perlu masuk dalam mode pengembang paypal dan membuat akun kotak pasir baru untuk hal yang sama. Setelah login di paypal Anda perlu mendapatkan client_id dan secret_key seperti gambar di bawah. sebelum mendapatkan client_id dan secret_key kita perlu membuat application. Jadi, periksa tangkapan layar di bawah ini dan buat aplikasi. Login ke Developer Dashboard.

Klik Create App.

Isikan nama aplikasi yang di buat.

Maka kalian akan mendapatkan sclient key dan scret key yang akan di gunakan pada aplikasi.

4. Konfigurasikan paket

Setelah installasi paket selesai, kalian buka project kalian dan tambahkan key dan screet key yang kalian dapatkan di file .env.

PAYPAL_MODE=sandbox
#Paypal sandbox credential
PAYPAL_SANDBOX_CLIENT_ID=AXELAz06GFLR.............................QNu7zyjuYpFLu1g
PAYPAL_SANDBOX_CLIENT_SECRET=EA9dinW1.............................PUzgVQCz7fK4tqe1-jLZCyHzZ0tDTRAx-6qJdIY933Q

Jika kalian ingin menyesuaikan opsi konfigurasi default paket, jalankan perintah vendor:publish di bawah ini.

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

Ini akan membuat file konfigurasi config/paypal.php dengan rincian di bawah ini, yang dapat Anda ubah.

5. Buat Routes

Sekarang kita perlu membuat rute aplikasi yang akan kita uji transaksi pengujian aplikasi. Buka file rute aplikasi route/web.php dan tambahkan rute baru berikut.

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PayPalController;

Route::get('create-transaction', [PayPalController::class, 'createTransaction'])->name('createTransaction');
Route::get('process-transaction', [PayPalController::class, 'processTransaction'])->name('processTransaction');
Route::get('success-transaction', [PayPalController::class, 'successTransaction'])->name('successTransaction');
Route::get('cancel-transaction', [PayPalController::class, 'cancelTransaction'])->name('cancelTransaction');
  • Buat Controller

Setelah kita membuat route, maka selanjutnya kita buat sebuah controller menggunakan php artisan.

php artisan make:controller PayPalController

Kita telah mempunya controller di direktori app/Http/Controllers/PayPalController.php. Buka dan tambahkan kode si bawah ini.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Srmklive\PayPal\Services\PayPal as PayPalClient;

class PayPalController extends Controller
{
    /**
     * create transaction.
     *
     * @return \Illuminate\Http\Response
     */
    public function createTransaction()
    {
        return view('transaction');
    }

    /**
     * process transaction.
     *
     * @return \Illuminate\Http\Response
     */
    public function processTransaction(Request $request)
    {
        $provider = new PayPalClient;
        $provider->setApiCredentials(config('paypal'));
        $paypalToken = $provider->getAccessToken();

        $response = $provider->createOrder([
            "intent" => "CAPTURE",
            "application_context" => [
                "return_url" => route('successTransaction'),
                "cancel_url" => route('cancelTransaction'),
            ],
            "purchase_units" => [
                0 => [
                    "amount" => [
                        "currency_code" => "USD",
                        "value" => "100"
                    ]
                ]
            ]
        ]);

        if (isset($response['id']) && $response['id'] != null) {

            // redirect to approve href
            foreach ($response['links'] as $links) {
                if ($links['rel'] == 'approve') {
                    return redirect()->away($links['href']);
                }
            }

            return redirect()
                ->route('createTransaction')
                ->with('error', 'Something went wrong.');

        } else {
            return redirect()
                ->route('createTransaction')
                ->with('error', $response['message'] ?? 'Something went wrong.');
        }
    }

    /**
     * success transaction.
     *
     * @return \Illuminate\Http\Response
     */
    public function successTransaction(Request $request)
    {
        $provider = new PayPalClient;
        $provider->setApiCredentials(config('paypal'));
        $provider->getAccessToken();
        $response = $provider->capturePaymentOrder($request['token']);

        if (isset($response['status']) && $response['status'] == 'COMPLETED') {
            return redirect()
                ->route('createTransaction')
                ->with('success', 'Transaction complete.');
        } else {
            return redirect()
                ->route('createTransaction')
                ->with('error', $response['message'] ?? 'Something went wrong.');
        }
    }

    /**
     * cancel transaction.
     *
     * @return \Illuminate\Http\Response
     */
    public function cancelTransaction(Request $request)
    {
        return redirect()
            ->route('createTransaction')
            ->with('error', $response['message'] ?? 'You have canceled the transaction.');
    }
}

6. Buat file blade untuk membuat tombol pembayaran

Kita akan membuat tampilan yang akan mengarahkan untuk memproses transaksi. Buat file blade view resources/views/transaction.blade.php file dan tambahkan kode di bawah ini ke dalamnya.

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <title>Pay USD.100</title>
    <script src="https://www.paypal.com/sdk/js?client-id={{ env('PAYPAL_SANDBOX_CLIENT_ID') }}"></script>
</head>
<body>
    <a class="btn btn-primary m-3" href="{{ route('processTransaction') }}">Pay USD.100</a>
    @if(\Session::has('error'))
        <div class="alert alert-danger">{{ \Session::get('error') }}</div>
        {{ \Session::forget('error') }}
    @endif
    @if(\Session::has('success'))
        <div class="alert alert-success">{{ \Session::get('success') }}</div>
        {{ \Session::forget('success') }}
    @endif
</body>
</html>

7. Jalankan aplikasi

Integrasi Paypal selesai. Sekarang kita perlu membuat transaksi. Jalankan server Laravel menggunakan perintah Artisan di bawah ini.

php artisan serve

Buka dengan url seperti di bawha ini. Untuk membayar dengan akun PayPal, Anda perlu membuat akun create sandbox account.

http://localhost:8000/create-transaction

kalik Pay, maka akan menampilkan form pembayaran.

Demikian tutorial ini saya berikan, semoga bermanfaat.

Terimakasih.

Tags: laravelmetode pembayaranPaypaltutorial laravel
ShareTweetShare
admin

admin

Next Post
Integrasi Paypal di Node.JS

Integrasi Paypal di Node.JS

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Trending
  • Comments
  • Latest
Tutorial CodeIgniter 4 part 1 ~ RESTful API JWT Authentication

Tutorial CodeIgniter 4 part 1 ~ RESTful API JWT Authentication

June 2, 2022
Codeigniter 4 ~ Membuat Notifikasi Menggunakan SweetAlert

Codeigniter 4 ~ Membuat Notifikasi Menggunakan SweetAlert

June 8, 2022
Tutorial Codeigniter 4 ~ Login dan Register

Tutorial Codeigniter 4 ~ Login dan Register

May 30, 2022
REST API Login dan Register Node.js dengan JWT

REST API Login dan Register Node.js dengan JWT

July 28, 2022
Tutorial Codeigniter 4 ~ Login dan Register

Tutorial Codeigniter 4 ~ Login dan Register

5
Rekomendasi tempat belajar pemrograman

Rekomendasi tempat belajar pemrograman

3
Menghilangkan Public dan Index.php dari URL Codeigniter 4

Menghilangkan Public dan Index.php dari URL Codeigniter 4

2
Membuat Sitemap Otomatis Codeigniter 4

Membuat Sitemap Otomatis Codeigniter 4

1
Access MongoDB With Node.JS

Akses MongoDB Dengan Node.JS

September 26, 2022
Teorema Structured Control

Basic Programming – Structured Control Theorem

September 23, 2022
WEB CRUD LocalStorage Menggunakan JavaScript

WEB CRUD LocalStorage Menggunakan JavaScript

September 22, 2022
DOM dan GOM Javascript

Perbedaan BOM Dan DOM Pada JavaScript

September 20, 2022
Teman Ngoding

Teman Ngoding tempat berbagi tutorial pemrograman
Read more

Categories

  • Berita
  • C++
  • Codeigniter
  • Events
  • Flutter
  • Golang
  • Java
  • Javascript
  • Laravel
  • MongoDB
  • News
  • Node JS
  • Pemrograman
  • PHP
  • Problem Solution
  • React JS
  • SQL
  • Tutorial
  • TypeScript
  • TypeScript
  • Video Codeigniter
  • Video Git
  • Video Laravel
  • Video Tutorial

Tags

ajax belajar golang belajar reactjs blog browser seluler Cara mendapatkan Uang dari Blog codeigniter codeigniter 3 codeigniter 4 codeigniter4 embed html Error Handling flutter flutter vs react native golang golang dasar html infinite scroll javascript javascript tutorial laravel laravel 8 laravel9 laravel 9 load more ajax Menggunakan Multiple select2 dan menyimpan dengan format json mongodb nodejs pdf pemrograman ajax pemrograman golang pemrograman php reactjs reactjs tutorial reactjs vs react native rest api rest api codeigniter 4 tutorial codeigniter 4 tutorial golang tutorial javascript tutorial laravel tutorial laravel 8 tutorial nodejs tutorial reactjs uang dari blog

Recent News

Access MongoDB With Node.JS

Akses MongoDB Dengan Node.JS

September 26, 2022
Teorema Structured Control

Basic Programming – Structured Control Theorem

September 23, 2022

© 2022 Teman Ngoding.

No Result
View All Result
  • Home
  • Tutorial
    • Laravel
    • Codeigniter
    • PHP
    • Golang
    • Java
    • Javascript
    • React JS
    • SQL
    • Problem Solution
  • Video Tutorial
    • Video Laravel
    • Video Codeigniter
    • C++
    • Video Git
  • Events
  • Berita
  • Donate
  • Indonesia
    • English

© 2022 Teman Ngoding.

Login to your account below

Forgotten Password?

Fill the forms bellow to register

All fields are required. Log In

Retrieve your password

Please enter your username or email address to reset your password.

Log In
  • English
  • Indonesia