Dengan peningkatan populariti transaksi dalam talian, kaedah pembayaran secara beransur-ansur mempelbagaikan, antaranya PayPal sangat popular sebagai kaedah pembayaran yang digunakan secara meluas. Jika anda ingin menggunakan PayPal untuk memproses transaksi di tapak web atau apl anda, maka anda boleh menggunakan PHP dan API PayPal untuk menyelesaikan proses pembayaran dengan mudah.
API PayPal ialah satu set antara muka pengaturcaraan untuk berinteraksi dengan PayPal. Melalui API, anda boleh menerima pemberitahuan daripada PayPal, menanyakan maklumat transaksi terkini, memulakan permintaan pembayaran dan banyak lagi. Dalam artikel ini, kami akan menerangkan cara membuat pembayaran menggunakan PHP dan API PayPal. Mari mulakan!
Langkah 1: Dapatkan Bukti Kelayakan API PayPal
Sebelum menggunakan API PayPal, anda perlu mendapatkan Bukti Kelayakan API. Ini akan membolehkan anda berkomunikasi dengan PayPal melalui API dan menjalankan transaksi. Untuk mendapatkan kelayakan, ikut langkah berikut:
1. Lawati tapak web Pembangun PayPal, log masuk ke akaun anda dan klik Pusat Akaun.
2. Klik "Profil".
3. Klik "Apl dan Bukti Kelayakan Saya".
4. Klik Cipta Bukti Kelayakan.
5. Pilih Jenis Bukti Kelayakan API (dan seterusnya):
- "Pembayaran" mewakili aplikasi yang mana anda akan menerima pembayaran.
- "Pembayaran" mewakili pembayaran kepada pengguna yang akan dilakukan oleh aplikasi anda.
- "Langganan dan Perjanjian" bagi pihak permohonan anda akan melakukan pembayaran berulang.
6. Masukkan nama permohonan anda dan keterangan pilihan, kemudian klik Cipta Bukti kelayakan.
7. Anda akan melihat bukti kelayakan API anda. Sila simpan di tempat yang selamat kerana anda memerlukannya dalam kod anda.
Langkah 2: Sambung ke PayPal
Kini anda perlu menyambung ke API PayPal dalam kod anda. Untuk menyambung ke PayPal, gunakan kod berikut:
$api_endpoint = 'https://api.sandbox.paypal.com'; // Sandbox endpoint // $api_endpoint = 'https://api.paypal.com'; // Live endpoint $client_id = 'YOUR_CLIENT_ID_HERE'; $client_secret = 'YOUR_CLIENT_SECRET_HERE'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_endpoint."/v1/oauth2/token"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_USERPWD, $client_id.":".$client_secret); curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials"); $result = curl_exec($ch); $response = json_decode($result); $access_token = $response->access_token;
Ini akan menyambung ke API PayPal dalam persekitaran ujian. Untuk menyambung kepada persekitaran pengeluaran, nyahkomen baris 5 dan ulasan baris 4.
Langkah 3: Mulakan permintaan pembayaran
Sekarang anda disambungkan ke API PayPal, anda boleh memulakan permintaan pembayaran. Untuk memulakan permintaan pembayaran, gunakan kod berikut:
$post_data = '{ "intent": "sale", "payer": { "payment_method": "paypal" }, "transactions": [{ "amount": { "total": "10.00", "currency": "USD" } }], "redirect_urls": { "return_url": "https://example.com/success", "cancel_url": "https://example.com/cancel" } }'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_endpoint."/v1/payments/payment"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $headers = array( "Content-Type: application/json", "Authorization: Bearer ".$access_token ); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($ch); $response = json_decode($result);
Ini akan memulakan permintaan pembayaran untuk $10 dan mengubah hala pengguna ke halaman kejayaan atau pembatalan. Anda boleh menukar jumlah dan mata wang mengikut keperluan.
Langkah 4: Dapatkan bukti kelayakan pembayaran
Selepas pembayaran berjaya, anda perlu mendapatkan bukti kelayakan pembayaran PayPal supaya anda boleh menyimpannya ke pangkalan data atau memprosesnya. Untuk mendapatkan bukti kelayakan pembayaran, gunakan kod berikut:
$payment_id = $response->id; $payer_id = $_GET['PayerID'] // Payer ID from the URL parameter $execute_payment = '{ "payer_id": "'.$payer_id.'" }'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $api_endpoint."/v1/payments/payment/".$payment_id."/execute"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $execute_payment); $headers = array( "Content-Type: application/json", "Authorization: Bearer ".$access_token ); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $result = curl_exec($ch); $response = json_decode($result); $transaction_id = $response->transactions[0]->related_resources[0]->sale->id;
Ini akan mendapat ID pembayaran dan ID transaksi, anda boleh menyimpannya ke pangkalan data atau memprosesnya dengan cara lain.
Langkah 5: Kendalikan Pemberitahuan PayPal
Akhir sekali, PayPal akan menghantar pemberitahuan kepada permohonan anda apabila transaksi berlaku. Anda boleh mengendalikan pemberitahuan menggunakan kod berikut:
$http_body = file_get_contents('php://input'); $notification = json_decode($http_body); if($notification->event_type == "PAYMENT.SALE.COMPLETED") { $payment_id = $notification->resource->parent_payment; $sale_id = $notification->resource->id; // Process the completed sale } elseif($notification->event_type == "PAYMENT.SALE.REFUNDED") { $payment_id = $notification->resource->parent_payment; $refund_id = $notification->resource->id; // Process the refunded sale } else { // Handle other event types }
Anda boleh mengendalikan penyiapan pembayaran dan pemberitahuan bayaran balik mengikut keperluan.
Ringkasan
Dengan menggunakan PHP dan API PayPal, anda boleh mengendalikan permintaan pembayaran, mendapatkan baucar pembayaran dan mengendalikan pemberitahuan dengan mudah. Menggunakan coretan kod ini, anda boleh menerima pembayaran melalui PayPal dan mengendalikan maklumat pembayaran dengan mudah dalam aplikasi anda sendiri.
Atas ialah kandungan terperinci Bayar menggunakan PHP dan API PayPal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!