Rumah > pembangunan bahagian belakang > tutorial php > Bayar menggunakan PHP dan API PayPal

Bayar menggunakan PHP dan API PayPal

王林
Lepaskan: 2023-06-19 16:22:01
asal
2897 orang telah melayarinya

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;
Salin selepas log masuk

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);
Salin selepas log masuk

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;
Salin selepas log masuk

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
 }
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan