PHP - Integrasi PayPal

Hai, para pengembang yang sedang mencari ilmu! Hari ini, kita akan memulai perjalanan yang menarik ke dunia integrasi PayPal dengan PHP. Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk mengarahkan Anda melalui proses ini langkah demi langkah. Jangan khawatir jika Anda baru belajar pemrograman - kita akan mulai dari dasar dan naik tingkat per tingkat. Jadi, ambil secangkir kopi, dan mari kita masuk ke dalam!

PHP - Paypal Integration

Mengenal Integrasi PayPal

Sebelum kita mulai mengoding, mari kita mengenal apa arti integrasi PayPal. Bayangkan Anda menjalankan toko online menjual kaos tangan. Anda ingin memberikan pelanggan Anda cara mudah untuk membayar kaos baru yang nyaman mereka. Itu di mana PayPal memasuki panggung! Itu seperti dompet digital yang mengizinkan transaksi online aman.

Mengapa Menggunakan PayPal?

  1. Itu dipercaya luas
  2. Mudah untuk diimplementasikan
  3. Mendukung beberapa mata uang
  4. Menyediakan perlindungan pembeli dan penjual

Sekarang kita tahu mengapa PayPal bagus, mari kita lihat bagaimana kita dapat mengintegrasikannya ke situs PHP kita.

Struktur Sistem File Integrasi PayPal

Untuk mengintegrasikan PayPal ke dalam aplikasi PHP kita, kita perlu mengatur struktur file yang benar. Ini membantu menjaga kode kita terorganisir dan mudah dipelihara. Percayalah, Anda masa depan akan berterima kasih kepada Anda saat ini!

Ini adalah struktur file yang kita akan gunakan:

project_root/
│
├── config/
│   └── paypal.php
│
├── includes/
│   └── paypal.php
│
├── public/
│   ├── css/
│   │   └── style.css
│   ├── js/
│   │   └── script.js
│   └── index.php
│
└── vendor/
└── autoload.php

mari kitauraikan ini:

  1. config/paypal.php: Berkas ini akan menyimpan kredensial API PayPal kita.
  2. includes/paypal.php: Ini akan berisi fungsi integrasi PayPal kita.
  3. public/: Direktori ini akan menyimpan file yang dapat diakses secara umum.
  4. vendor/: Ini adalah tempat dependensi kita tinggal (kami akan menggunakan Composer untuk ini).

Mengatur Kredensial API PayPal

Sebelum kita dapat mulai mengoding, kita perlu mendapatkan kredensial API PayPal kita. Itu seperti mendapatkan kunci untuk mobil PayPal-powered baru kita!

  1. Buka developer.paypal.com dan buat akun (atau masuk jika Anda sudah memiliki akun).
  2. Navigasikan ke Dashboard dan buat aplikasi baru.
  3. Setelah dibuat, Anda akan melihat Client ID dan Secret. Ini sangat penting, jadi simpanlah mereka dengan baik!

Sekarang, mari kita tambahkan kredensial ini ke berkas config/paypal.php:

<?php
return [
'client_id' => 'YOUR_CLIENT_ID_HERE',
'client_secret' => 'YOUR_CLIENT_SECRET_HERE',
'mode' => 'sandbox' // Gunakan 'live' untuk produksi
];

ingat untuk mengganti 'YOUR_CLIENT_ID_HERE' dan 'YOUR_CLIENT_SECRET_HERE' dengan kredensial API PayPal Anda yang sebenarnya.

Menginstal SDK PayPal

Sekarang kita sudah mengatur kredensial kita, mari kita instal SDK PayPal. Kami akan menggunakan Composer untuk ini, yang mirip dengan petugas pribadi untuk pustaka PHP.

Pertama, pastikan Anda memiliki Composer terinstal. Kemudian, jalankan perintah ini di akar proyek Anda:

composer require paypal/rest-api-sdk-php

Ini akan instal SDK PayPal dan membuat direktori vendor dengan semua file yang diperlukan.

Membuat Fungsi Integrasi PayPal

Sekarang, mari kita masuk ke bagian yang menyenangkan - menulis fungsi integrasi PayPal kita! Kami akan membuat ini di berkas includes/paypal.php.

<?php
require_once __DIR__ . '/../vendor/autoload.php';
use PayPal\Api\Amount;
use PayPal\Api\Payer;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\Transaction;
use PayPal\Auth\OAuthTokenCredential;
use PayPal\Rest\ApiContext;

function getPayPalApiContext() {
$paypalConfig = require __DIR__ . '/../config/paypal.php';

$apiContext = new ApiContext(
new OAuthTokenCredential(
$paypalConfig['client_id'],
$paypalConfig['client_secret']
)
);

$apiContext->setConfig([
'mode' => $paypalConfig['mode'],
'log.LogEnabled' => true,
'log.FileName' => '../PayPal.log',
'log.LogLevel' => 'DEBUG'
]);

return $apiContext;
}

function createPayPalPayment($amount) {
$apiContext = getPayPalApiContext();

$payer = new Payer();
$payer->setPaymentMethod("paypal");

$amount = new Amount();
$amount->setCurrency("USD")
->setTotal($amount);

$transaction = new Transaction();
$transaction->setAmount($amount)
->setDescription("Deskripsi pembayaran");

$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://localhost/success.php")
->setCancelUrl("http://localhost/cancel.php");

$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));

try {
$payment->create($apiContext);
return $payment;
} catch (Exception $ex) {
echo "Error: " . $ex->getMessage();
exit(1);
}
}

mari kitauraikan apa yang terjadi di sini:

  1. Kita menyertakan kelas PayPal SDK yang diperlukan.
  2. Fungsi getPayPalApiContext() mengatur konteks API PayPal menggunakan kredensial dari berkas konfigurasi.
  3. Fungsi createPayPalPayment($amount) membuat pembayaran PayPal baru untuk jumlah yang ditentukan.

Menggunakan Integrasi PayPal Kita

Sekarang kita sudah mengatur fungsi kita, mari kita gunakan mereka di berkas public/index.php:

<?php
require_once __DIR__ . '/../includes/paypal.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$amount = $_POST['amount'];
$payment = createPayPalPayment($amount);

foreach($payment->getLinks() as $link) {
if($link->getRel() == 'approval_url') {
header("Location: ".$link->getHref());
exit(1);
}
}
}
?>

<!DOCTYPE html>
<html>
<head>
<title>Contoh Integrasi PayPal</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<h1>Contoh Pembayaran PayPal</h1>
<form method="post">
<label for="amount">Jumlah (USD):</label>
<input type="number" id="amount" name="amount" min="1" step="0.01" required>
<button type="submit">Bayar dengan PayPal</button>
</form>
<script src="js/script.js"></script>
</body>
</html>

Ini membuat formulir sederhana di mana pengguna dapat memasukkan jumlah dan mengklik tombol untuk membayar dengan PayPal. Ketika formulir dikirim, itu membuat pembayaran PayPal dan mengalihkan pengguna ke PayPal untuk menyelesaikan pembayaran.

Kesimpulan

Selamat! Anda baru saja membuat integrasi PayPal pertama Anda dengan PHP. Kita telah menempuh banyak hal hari ini, mulai dari mengatur struktur file kita sampai membuat pembayaran PayPal. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba dan membangun apa yang Anda pelajari.

Dalam dunia pengembangan web, mengintegrasikan sistem pembayaran seperti PayPal adalah keterampilan yang berharga. Itu seperti menambah turbo boost ke roket PHP Anda - itu akan membawa Anda ke ketinggian baru dalam perjalanan pemrograman Anda!

Terus mengoding, terus belajar, dan yang paling penting, bersenang-senang! Sampai jumpa lagi, selamat berkoding!

Credits: Image by storyset