ID: Bahasa Indonesia

PHP - Integrasi PayPal

Hai, para pengembang bersemangat! Hari ini, kita akan melangsungkan perjalanan menarik ke dunia integrasi PayPal dengan PHP. Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk memandu 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

Mengerti Integrasi PayPal

Sebelum kita mulai mengoding, mari kita mengerti 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 adalah tempat PayPal memasuki! Itu seperti dompet digital yang memungkinkan transaksi online aman.

Mengapa Menggunakan PayPal?

  1. Itu dapat dipercaya luas
  2. Mudah untuk implementasi
  3. Mendukung mata uang ganda
  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 Berkas Integrasi PayPal

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

Ini adalah struktur berkas 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 kita rincikan 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 berkas 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 bisa 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 satu).
  2. Navigasikan ke Dashboard dan buat aplikasi baru.
  3. Setelah dibuat, Anda akan melihat Client ID dan Secret. Ini sangat penting, jadi jaga mereka!

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 menginstal SDK PayPal. Kami akan menggunakan Composer untuk ini, yang seperti seorang shopper pribadi untuk pustaka PHP.

Pertama, pastikan Anda telah menginstal Composer. Kemudian, jalankan perintah ini di root proyek Anda:

composer require paypal/rest-api-sdk-php

Ini akan menginstal SDK PayPal dan membuat direktori vendor dengan semua berkas yang diperlukan.

Membuat Fungsi Integrasi PayPal

Sekarang kita masuk ke bagian menarik - 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 kita rincikan apa yang terjadi di sini:

  1. Kita menyertakan kelas yang diperlukan dari SDK PayPal.
  2. Fungsi getPayPalApiContext() mengatur konteks API PayPal menggunakan kredensial dari berkas konfigurasi.
  3. Fungsi createPayPalPayment() 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 disubmit, 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 menelusuri banyak hal hari ini, mulai dari mengatur struktur berkas kita sampai membuat pembayaran PayPal. Ingat, latihan membuat ahli, 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 boost turbo ke roket PHP Anda - itu akan membawa Anda ke tingkat baru dalam perjalanan pemrograman Anda!

Terus mengoding, terus belajar, dan yang paling penting, bersenang-senang! Sampaijumpa lagi, pengodingan yang gembira!

Credits: Image by storyset