Monday, February 12, 2007

Paypal API

Paypal (http://www.paypal.com/) adalah salahsatu online payment yang kredibilitasnya tidak perlu diragukan lagi. Begitu banyak situs yang memakai jasa paypal untuk melakukan pembayaran atas pembelian produk atau jasa yang mereka jual.

Salahsatu yang membuat Paypal menjadi sangat populer adalah ketersediaan begitu banyak API atau Application Programming Interface yaitu tools yang digunakan untuk menjalin komunikasi antara Paypal dengan website yang memakai jasa nya dalam proses penjualan produk.

Disamping itu Paypal pun menyediakan fasilitas yang bernama SandBox (http://www.sandbox.paypal.com/) dan https://developer.paypal.com/ yang bisa digunakan oleh para webmaster untuk melakukan testing code Paypal API yang telah dibuat olehnya.

Salahsatu API yang cukup sederhana, namun sangat bagus dalam melakukan komunikasi dengan Paypal adalah yang dibuat oleh Micah Carrick (http://www.micahcarrick.com/). Sebuah produk opensource berbasis PHP yang sangat mudah untuk dipelajari dan dimodifikasi sesuai dengan kebutuhan kita untuk melakukan komunikasi dengan Paypal.

API yang dibuat oleh oleh Micah Carrick hanya terdiri dari satu file saja yang berisi sebuah Class yang ditulis dengan bahasa pemrograman PHP. Class yang dibuatnya cukup lengkap, terdiri dari 3 fungsi utama, yaitu fungsi pemrosesan transaksi, fungsi pengambilan data transaksi yang dikirim Paypal jika transaksi sukses & fungsi untuk meng-handle fungsi IPN atau Instant Payment Notification (http://www.paypal.com/cgi-bin/webscr?cmd=p/xcl/rec/ipn-intro-outside) dari Paypal.

Berdasarkan Class yang dibuat oleh Micah Carrick tersebut, kita bisa melakukan komunikasi dengan Paypal lewat API yang bisa kita buat sendiri. Namun terlebih dahulu tentunya kita harus melakukan registrasi di Paypal, melengkapi semua formulir yang disediakan Paypal untuk registrasi dan kemudian mendapatkan Username & Password sebagai identitas dari account kita di Paypal.

Setelah kita mendapatkan Username & Password untuk login di Paypal, selanjutnya kita harus melakukan beberapa konfigurasi di account kita di Paypal & membuat API untuk komunikasi antara website kita dengan Paypal. Konfigurasi tersebut adalah:
  1. Masuk ke halaman Profile dengan meng-klik link Profile dihalaman account kita di Paypal. Halaman Profile Summary ini terdiri dari 3 bagian utama, yaitu:
    1. Account Information, pada bagian ini, section yang harus diperhatikan adalah:
      1. Email, pastikan alamat email yang menjadi Primary Email anda benar & valid, sebab semua pemberitahuan akan dikirim ke alamat email ini.
      2. Notifications, pada bagian ini terdapat banyak pilihan, yang direkomendasikan untuk dipilih adalah opsi “PayPal Periodical Monthly Newsletter and Product Updates”, “Customer Feedback Surveys”, “I receive money with PayPal”, “I request money with PayPal” dan opsi “I receive PayPal Website Payments and Instant Purchase”.
      3. Section yang lain tidak perlu dimodifikasi.
    2. Financial Information
      1. Currency Balances, pastikan menggunakan US Dollar (USD).
      2. Section yang lain tidak perlu dimodifikasi.
    3. Selling Preferences
      1. Website Payment Preferences, terdapat beberapa subsection dibagian ini, yaitu:
        1. Auto Return for Website Payments, pastikan bernilai OFF & Return URL nya kosong.
        2. Payment Data Transfer (optional), pastikan bernilai OFF.
        3. Encrypted Website Payments, pastikan bernilai OFF.
        4. PayPal Account Optional, pastikan bernilai ON.
        5. Contact Telephone Number, pastikan bernilai ON (Required Field).
        6. Express Checkout Settings, pastikan bernilai NO.
      2. Section yang lain tidak perlu dimodifikasi.
  2. Copy sebuah Paypal’s Button, dengan cara masuk ke Merchant Service, kemudian pilih Website Payment Standar, pilih Paypal’s Button yang anda inginkan, misalnya Button “Buy Now”, klik kanan digambar ini dan pilih Save As. Gambar Paypal Button ini nantinya akan dipasang diwebsite anda sebagai sebuah button submit.
  3. Buat API code berdasarkan Class yang dibuat oleh Micah Carrick, misalnya:
    1. Bagian Definisi:



      Variabel item adalah nama produk yang akan dijual, Variabel harga adalah nilai jual produk dalam US Dollar, Variabel Paypal Account adalah Username yang kita miliki di Paypal, biasanya berupa alamat E-mail yang kita daftarkan di Paypal.

    2. Bagian Action:



    3. Bagian Yang Ditampilkan Ke konsumen secara default:



    4. Selengkapnya code tersebut adalah:



  4. Lakukan test untuk code kita di SandBox (http://www.sandbox.paypal.com/) dengan terlebih dahulu membuat Test Account di https://developer.paypal.com/.