• Home
  • /
  • PHP
  • /
  • Cara Menampilkan Saldo Balance Paypal dengan PHP Via API
PHP

Cara Menampilkan Saldo Balance Paypal dengan PHP Via API

 

Lama sekali saya tidak pernah posting artikel terbaru di blog ini. Kangen rasanya untuk kembali berbagi ide dan ilmu kepada para pengunjung setia blog.rosihanari.net 🙂

Dalam artikel terbaru saya kali ini, saya akan mencoba memaparkan cara membuat script PHP untuk menampilkan saldo balance Paypal yang kita miliki. Script ini barangkali bisa bermanfaat bagi Anda yang berkecimpung pada dunia bisnis online khususnya dalam jual beli dana Paypal, seperti halnya Mas Hengky dengan PasPisan.com nya 🙂 Dengan ide ini, visitor bisa mengetahui seberapa banyak stock dana Paypal yang akan kita jual secara live karena terhubung langsung dengan akun Paypal kita di server Paypal.

Untuk menampilkan saldo balance Paypal menggunakan PHP ini, kita sebelumnya harus sudah memiliki API Access atau lebih tepatnya Paypal API Signature. Paypal API Signature ini berupa API Username, API Password dan juga Signature. Setiap akun Paypal, pasti memiliki Paypal API Signature yang berbeda-beda. Untuk merequest API Signature, silakan masuk ke akun Paypal Anda, lalu klik menu PROFILE, klik API Access pada kolom Account Information. Selanjutnya jika muncul 2 ops, pilihlah opsi yang berbunyi ‘Request API credentials to create your own API username and password. ‘. Jika proses request API sukses, maka Anda akan melihat API Signature seperti gambar di bawah ini

Paypal API Signature

Setelah muncul API Signature tersebut, saya berpesan: ‘Jangan beritahukan API Signature tersebut ke orang lain supaya tidak disalahgunakan

Selanjutnya, API Signature yang terdiri dari API Username, API Password dan Signature ini akan kita masukkan ke dalam script PHP untuk menampilkan saldo balance Paypal kita.

Sekarang… kita lanjut ke pembuatan script PHP nya.

Mengingat server Paypal menggunakan SSL (Secured Socket Layer) yang certified, maka untuk mengakses data dari server Paypal kita harus menggunakan Public Certificate Authorities (public CA). Untuk mendapatkan public CA ini, silakan mendownload di sini.

Lantas… bagaimana cara membaca data saldo balance Paypal nya? idenya adalah menggunakan CURL.

Sebelum kita mulai membuat script PHP nya, perlu saya informasikan juga bahwa untuk API Service ini, Paypal menyediakan 2 cara akses yaitu bisa menggunakan SOAP atau NVP (Name-Value Pair). Dalam pembahasan ini, saya hanya memaparkan cara akses menggunakan NVP saja, karena untuk SOAP saya tidak begitu familiar.

Nah… selanjutnya ke server mana kita harus akses CURL nya? Untuk layanan API, Paypal menyediakan server yang beralamat di “https://api-3t.paypal.com/nvp”.

Sekarang kita bisa buat script PHP sbb:

cekbalance.php

<?php
$url = "https://api-3t.paypal.com/nvp";

// masukkan API username
$APIusername  = '...';

// masukkan API password
$APIpassword  = '...';

// masukkan API signature
$APIsignature = '...';

// membaca file public CA
$certificate = dirname(__FILE__).'/CARootCerts.pem';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_VERBOSE, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, $certificate);
curl_setopt($ch, CURLOPT_POST, 1);

// parameter CURL untuk akses Paypal balance
curl_setopt($ch, CURLOPT_POSTFIELDS, "USER=".$APIusername."&PWD=".$APIpassword."&SIGNATURE=".$APIsignature."&METHOD=getBalance&VERSION=56.0");
// respon dari CURL dibaca
$output = urldecode(curl_exec($ch));

curl_close($ch);

// menampilkan respon CURL
echo $output;

?>

Oya, sebelum Anda menjalankan script di atas, pastikan file public CA sudah Anda letakkan dalam folder yang sama dengan script di atas.

Jika Anda menjalankan script di atas di browser maka akan muncul respon CURL nya sbb:

Paypal API Cek Balance

Dalam respon CURL tersebut, besarnya saldo tampak pada parameter ‘L_AMT0’ dan dengan mata uangnya pada ‘L_CURRENCYCODE0’. Kok tampilannya masih mentahan (raw) seperti itu ya? Supaya lebih manis tampilannya, maka kita perlu melakukan parsing untuk hanya mendapatkan besarnya saldo dan mata uangnya saja. Berikut ini script cekbalance.php yang sudah dimodifikasi dengan menambahkan bbrp paris perintah untuk proses parsing.

cekbalance.php

<?php
$url = "https://api-3t.paypal.com/nvp";

// masukkan API username
$APIusername  = '...';

// masukkan API password
$APIpassword  = '...';

// masukkan API signature
$APIsignature = '...';

// membaca file public CA
$certificate = dirname(__FILE__).'/CARootCerts.pem';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_VERBOSE, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, $certificate);
curl_setopt($ch, CURLOPT_POST, 1);

// parameter CURL untuk akses Paypal balance
curl_setopt($ch, CURLOPT_POSTFIELDS, "USER=".$APIusername."&PWD=".$APIpassword."&SIGNATURE=".$APIsignature."&METHOD=getBalance&VERSION=56.0");
// respon dari CURL dibaca
$output = urldecode(curl_exec($ch));

curl_close($ch);

// proses parsing menggunakan explode()
$parsing1 = explode("&", $output);
// untuk mendapatkan saldo
$parsing2 = explode("=", $parsing1[0]);
$saldo = $parsing2[1];
// untuk mendapatkan mata uang
$parsing2 = explode("=", $parsing1[1]);
$currency = $parsing2[1];

// menampilkan saldo setelah parsing
echo "Saldo Paypal: ".$currency." ".$saldo;

?>

Nah… dengan proses parsing, kita akan mendapatkan tampilan sbb:

Paypal API Cek Balance

Lebih cantik bukan tampilannya daripada sebelumnya?? 🙂 Sekarang Anda bisa sisipkan script tersebut di web atau blog Anda.

Paypal API Service tidak hanya digunakan untuk cek balance saja, namun juga bisa untuk keperluan Mass Payment, Direct Payment, cek transaksi dll. Untuk keterangan lebih lanjut tentang Paypal API ini, silakan Anda kunjungi

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_api_overview

Selamat mencoba dan bereksperimen… 🙂

 

Bagikan artikel ini jika bermanfaat !

Assalaamu'alaikum.. aktivitas keseharian saya mengajar di Universitas Sebelas Maret, dengan matakuliah pemrograman dan basis data. Adapun bidang penelitian saya tentang computational thinking dan computer-aided learning.

Leave a Reply