Perhitungan Konversi Pembayaran Rupiah Menggunakan PayPal dengan PHP Programming

Instan, cepat dan aman, itulah alasan PayPal banyak digunakan sebagai salah satu metode pembayaran oleh website ecommerce, toko online, aplikasi atau jasa freelance. Sayangnya, semua transaksi yang dilakukan di Indonesia harus menggunakan Rupiah dan PayPal tidak mendukung mata uang Rupiah.

Lantas, bisakah PayPal digunakan sebagai metode pembayaran di Indonesia? Tentu saja bisa, mata uang untuk transaksi tetap menggunakan Rupiah, hanya saja ada perhitungan konversi dari Rupiah ke Dolar saat menggunakan metode pembayaran dengan PayPal.

Berikut adalah hal-hal yang harus dipertimbangkan dalam menggunakan PayPal dalam transaksi pembayaran, termasuk perhitungan konversi dari Rupiah ke Dolar, agar tidak rugi saat melakukan transaksi jual/beli:

  • Nilai tukar realtime (realtime exchange rates), untuk mendapatkan nilai tukar mata uang dengan akurat. Kita akan menggunakan API dari openexchangerates.org
  • Konversi mata uang dikenakan biaya 3.5% dari nominal yang dikonversi. Sebenarnya aplikasi yang melakukan konversi mata uang, pembayaran PayPal tetap menggunakan Dolar, hanya saja ketika kita menarik uang dari PayPal ke Bank di Indonesia dikenakan biaya konversi 3.5%. Informasi bisa dilihat di User Agreement PayPal
  • Paypal mengenakan biaya sampai dengan 4.4% dari nominal transaksi ditambah biaya tetap (fixed fee) $0.3. Informasi bisa dilihat dari laman seller fee PayPal

Mendapatkan Nilai Tukar Secara Realtime

Ada banyak penyedia API (Application Programming Interface) untuk mendapatkan nilai tukar atau exchange rates, kali ini kita akan menggunakan API dari openexchangerates.org. Silahkan kunjungi https://openexchangerates.org, kemudian lakukan pendaftaran dan dapatkan APP ID untuk memanggil API nilai tukar dari openexchangerates.org.

Setelah mendapatkan APP ID, berikut adalah kode untuk mendapatkan nilai tukar:

$api_app_id = "insert_app_id_of_openexchangeratesorg_here";
$api_url = "https://openexchangerates.org/api/latest.json?app_id=" . $api_app_id;

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch); 
curl_close($ch);

Hasil dari pemanggilan API openexchangerates.org dalam bentuk JSON disimpan ke variabel $output, berikut adalah isi dari variabel tersebut:

{
  ...
  "base": "USD",
  "rates": {
    "AED": 3.673181,
    "AFN": 71.540544,
    ...
    "IDR": 14044.474311
    ...
  }
}

Menghitung Nilai Konversi

Variabel $output yang didapatkan dari hasil pemanggilan API dalam bentuk string yang berisikan data JSON. Selanjutnya aplikasi mengubah data tersebut ke dalam object PHP dengan men-decode data tersebut:

$exchange = json_decode($output);

Dari proses decode JSON tersebut, untuk mendapatkan nilai tukar Rupiah diambil dari variabel $exchange->rates->IDR.

Seperti telah disebutkan di atas bahwa ada biaya 3.5% dari nominal yang dikonversi. Untuk menghitung nilai tukar ditambah dengan biaya konversi adalah sebagai berikut:

$rate = (1 / $exchange->rates->IDR) + ((1 / $exchange->rates->IDR) * 0.035);

Menghitung Harga, Biaya dan Nilai Total Transaksi

Tetapkan harga ke dalam variabel $price, kemudian lakukan perhitungan harga dalam USD, biaya PayPal sampai dengan 4.4% + $0.3 dan total dari transaksi.

$price = 50000;
$price_usd = round($price * $rate, 2);
$paypal_fee = round(($price_usd * 0.044) + 0.3, 2);
$total = $price_usd + $paypal_fee;

Untuk mengetahui nilai dari perhitungan di atas, kita tampilkan hasil perhitungan di atas dengan kode berikut:

echo "Price: Rp. {$price}\n";
echo "1 USD: Rp. {$exchange->rates->IDR}\n";
echo "\n";
echo "Price USD: $ {$price_usd}\n"; 
echo "Paypal Fee: $ {$paypal_fee}\n";
echo "Total: $ {$total}\n";

Kode Lengkap

Dari semua proses yang telah dilalui, berikut adalah kode lengkap menghitung nilai konversi harga dari Rupiah ke Dollar jika menggunakan PayPal sebagai metode pembayaran:

<?php
$api_app_id = "insert_app_id_of_openexchangeratesorg_here";
$api_url = "https://openexchangerates.org/api/latest.json?app_id=" . $api_app_id;

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$output = curl_exec($ch); 
curl_close($ch);

$exchange = json_decode($output);
$rate = (1 / $exchange->rates->IDR) + ((1 / $exchange->rates->IDR) * 0.035);

$price = 15000;
$price_usd = round($price * $rate, 2);
$paypal_fee = round(($price_usd * 0.044) + 0.3, 2);
$total = $price_usd + $paypal_fee;

echo "Price: Rp. {$price}\n";
echo "1 USD: Rp. {$exchange->rates->IDR}\n";
echo "\n";
echo "Price USD: $ {$price_usd}\n"; 
echo "Paypal Fee: $ {$paypal_fee}\n";
echo "Total: $ {$total}\n";

Simpan kode tersebut dalam file calculation.php, kemudian eksekusi seperti di bawah ini:


Tulisan ini adalah update dari tulisan yang telah diterbitkan sebelumnya dari https://steemit.com/programming/@saunghanan/perhitungan-konversi-untuk-pembayaran-rupiah-menggunakan-paypal-dengan-php-programming

Armbian untuk Komputer Single-Board / Development Board

Dapat dijalankan di 70+ board dari berbagai merek, Armbian berpengalaman 5 tahun sebagai Sistem Operasi Linux untuk ARM yang dijalankan di Komputer Single-Board (Single-Board Computer / SBC). Jika kamu sedang mengerjakan proyek IoT, pengembangan perangkat embedded, mobile atau single-board, Armbian bisa menjadi pilihan yang tepat.

Berbasiskan Debian membuat Armbian cocok digunakan untuk kebutuhan server. Selain itu, dengan mengusung dekstop XFCE yang ringan, Armbian bisa dijadikan sistem operasi untuk desktop. Pasang minimal Debian / Ubuntu dan biarkan bekerja sebagai server, atau sambungkan board ke monitor atau modul lcd display, dengan tampilan ringan tapi elegan desktop XFCE cocok untuk kebutuhan komputer desktop.

Unduh Armbian

Kunjungi https://www.armbian.com/download/, pilih board yang akan menjalankan Armbian dan tentukan image Linux yang diinginkan, Debian atau Ubuntu dan CLI atau desktop.

Siapkan SD Card

Pastikan kamu memilih SD Card yang bagus, handal dan cepat. Sistem operasi Armbian akan berjalan stabil ketika performa tulis dan baca (write and read) dari SD Card tersebut bagus. Berikut adalah beberapa rekomendasi SD Card:

  • Samsung 16 GB up to 48MB/s EVO Class 10 Micro SDHC
  • Transcend 16 GB MicroSDHC Class 10 UHS-I Memory card
  • SanDisk Extreme PRO 16GB UHS-I/U3 Micro SDHC

Lakukan flash image OS yang telah diunduh sebelumnya menggunakan Etcher, aplikasi bisa diunduh melalui link https://etcher.io/.

Jalankan Board

Masukkan SD card ke dalam slot dan nyalakan board. Boot pertama memakan waktu sampai dengan 30 detik tergantung dari SD card dan kecepatan board.

Sambungkan tampilan melalui HDMI, serial console atau SSH, masukkan password root 1234. Ganti password bawaan tersebut dan buat pengguna biasa dengan akses sudo.

Siap!

Tergantung dari image yang diunduh, kamu akan masuk ke desktop XFCE atau CLI. Update paket-paket Debian dengan perintah:

sudo apt-get update
sudo apt-get upgrade

Untuk konfigurasi board, gunakan utilitas armbian-config:

sudo armbian-config

Teknologi Maksa. Terlalu Memaksakan Solusi

Beberapa waktu lalu dalam tweet saya mempertanyakan begitu banyak koin dan token kripto, apakah semuanya dipakai?

Sama seperti tahun-tahun lalu di mana aplikasi smartphone sedang booming, semua orang memaksakan aplikasi masuk ke dalam layar kecil handphone. Apakah aplikasi-aplikasi sebanyak itu di App Store atau Play Store berguna?

Continue reading “Teknologi Maksa. Terlalu Memaksakan Solusi”

Jalankan Aplikasi Desentralisasi (dApps) di Web Browser Menggunakan MetaMask

Membangun kota virtual terdesentralisasi di MegaCryptoPolis, membeli kucing kripto di CryptoKitties atau posting pesan ke sosial media berbasis blockchain di Peepeth. Semua aplikasi tersebut adalah aplikasi terdesentralisasi (decentralised applications disingkat dApps).

Berbeda dengan aplikasi yang terpusat (centralised applications), aplikasi terdesentralisasi tersimpan di blockchain dan dijalankan di dalam jaringan peer-to-peer. Selama ada sebuah node menyimpan salinan blockchain, aplikasi dapat mengelola basis data yang tersimpan di dalamnya. Salah satu blockchain yang dapat diakses publik dan banyak dikenal adalah Ethereum.

Untuk menjalankan dApps Ethereum dibutuhkan Browser yang dapat mengakses node blockchain Ethereum, salah satunya adalah MetaMask, plugin Web Browser (Firefox atau Chrome) sebagai penghubung ke node Ethereum. Dengan MetaMask, kita dapat menjalankan dApps Ethereum menggunakan Browser yang sudah familiar digunakan sehari-hari, tanpa harus menjalankan sebuah node Ethereum secara penuh.

Instalasi

Kunjungi website https://metamask.io/  dan unduh sesuai browser yang dinginkan seperti Firefox atau Chrome. Atau gunakan langsung fitur Crypto Wallet di Brave.

Fitur Crypto Wallet di Brave

Update 4 Maret 2020: Browser Brave terbaru memiliki fitur Crypto Wallet

Membuat Akun

Icon MetaMask akan muncul di sebelah kanan atas Browser (di samping address bar) dan klik untuk menggunakan MetaMask.

Ketika pertama kali menggunakan, kamu harus membuat akun di MetaMask.

  • Masukkan password baru. Jika sebelumnya pernah membuat akun di MetaMask, klik “Import Existing DEN” untuk memasukkan 12 kata untuk menggunakan akun lama tersebut.
  • Simpan 12 kata tersebut di tempat yang aman, catat di buku atau di backup di disk eksternal. Akun ini akan menyimpan Ether (uang kripto), jika hilang maka kamu tidak bisa menggunakan akun yang telah dibuat di MetaMask beserta kehilangan Ether di dalamnya.
  • Ketika semua sudah selesai, akun kamu sudah siap dan kamu memiliki alamat Ethereum untuk menerima dan mengirim Ether.

Kirim Ether ke Akun MetaMask

Setiap transaksi yang dilakukan di blockchain Ethereum membutuhkan biaya beberapa Ether. Meski ada transaksi yang dilakukan oleh aplikasi secara gratis, tetapi untuk menyimpan data ke blockchain dibutuhkan biaya yang dikenal dengan GAS, GAS ini lah yang untuk membayar miner melakukan tugasnya di jaringan blockchain.

Kamu bisa membeli Ethereum dengan Rupiah secara instan menggunakan Luno, atau jual beli Ethereum di exchange lokal seperti Indodax dan Coinone.

Kirim Ethereum yang telah dibeli ke alamat Ethereum MetaMask. Alamat Ethereum di MetaMask dapat dilihat dari menu Akun “Show QR Code”, salin atau scan alamat tersebut.

Setelah kamu memiliki sejumlah Ether, kini saatnya kamu membangun kota virtual terdesentralisasi di MegaCryptoPolis, membeli kucing kripto di CryptoKitties atau posting pesan ke sosial media berbasis blockchain di Peepeth. Ada ribuan dApps dan terus muncul dApp baru dari hari ke hari, kamu dapat mencari aplikasi terdesentralisasi menarik di sini: https://www.stateofthedapps.com/

Kenapa Kripto Lebih Dikenal Ketimbang Blockchain?

Sama seperti web, orang lebih mengenal World Wide Web / WWW (biasanya disingkat hanya Web) ketimbang Basis Data atau Database, padahal situs-situs web besar seperti Google atau Amazon berjalan dengan didukung oleh underlying technology yang dikenal dengan sistem database.

Begitu pula Kripto, baik itu mata uang kripto (cryptocurrencies), asset kripto (cryptoassets), koin atau token; teknologi yang mendasari itu adalah Blockchain. Kamu kenal Bitcoin, Ethereum, Ripple, Litecoin, dan banyak lagi; underlying technology (teknologi yang mendasari) mereka semua dapat berjalan didukung oleh blockchain.

Dapat saya katakan, orang lebih mengenal kripto karena untung-untungan ekonomi, sedangkan blockchain adalah itung-itungan komputasi. Kamu punya opini beda?

DIY: Build Your Own Smart TV Android Box

Have you planned to buy new smart TV? I think you might stop your planning and build your own. You could turn your HDMI-enabled TV into a great Android powered smart TV. Yes, spend only $19 on Pine A64+ 1GB model or $29 on Pine A64+ 2GB model, it’d be your next DIY project right? ?

Pine 64 Android Smart TV

What you need to build it?

  • 1GB/2GB Pine A64+ Board
  • A quality 8GB micro SD card (32GB / 64GB recommended) rated ‘class 10’ or better
  • Ethernet cable (Bluetooth/Wifi module for $9.99 sold separately if you need wireless connectivity)
  • HDMI Cable (or HDMI to VGA adapter if you want to run on PC monitor)
  • A micro USB 5V power adapter
  • The input devices such as keyboard and mouse (you might use air mouse keyboard)
  • Pine64 Enclosure
Continue reading “DIY: Build Your Own Smart TV Android Box”

Single Board Computer with Pine64

A couple of months, I played with single board computer named Pine64. It is not only a computer, it is a super affordable 64-bit high performance expandable single board computer (SBC). The world’s first 64-bit expandable Quad Core 1.2Ghz supercomputer, tablet, media center, and more.

Continue reading “Single Board Computer with Pine64”

Strategi dan Solusi Ritel dengan IoT Intel, A Retail Conference 2016

Retail comes alive

Intel Indonesia menyelenggarakan Konferensi Retail di mana teknologi dan solusi dipertemukan oleh permintaan pasar ritel yang pesat. Transformasi digital membuat para peritel butuh untuk mempelajari kemampuan baru, merangkul teknologi baru, dan mengambil resiko besar. Acara yang telah diselenggarakan pada tanggal 15 November 2016 di Pullman Jakarta Central Park diikuti oleh pelaku industri ritel, partner Intel, system integrator, dan end user.

Intel IoT - Four Big Ideas by Rajnish Maini

Dalam acara tersebut, beberapa keynote disampaikan oleh Rajnish Maini dan Kim Cheol dari Intel, Roy Mande dari Aprindo (Asosiasi Pengusaha Retail Indonesia), dan beberapa Partner Intel. Dalam keynotenya, Rajnish Maini dan Kim Cheol dari Intel menyampaikan tentang solusi Internet of Things (IoT) dari Intel untuk menghadapai berbagai permasalahan dan tantangan retail. Sedangkan perwakilan Aprindo menyampaikan kondisi retail yang ada di Indonesia.

Continue reading “Strategi dan Solusi Ritel dengan IoT Intel, A Retail Conference 2016”

Fitur Terbaru Laravel 5.3

Laravel 5.3 resmi dirilis tanggal 23 Agustus kemarin. Fitur-fitur baru difokuskan pada peningkatan kecepatan developer dalam melakukan pekerjaan-pekerjaan yang umumnya dilakukan dalam pengembangan aplikasi.

Berikut adalah fitur-fitur terbaru:

  • Laravel Scout, Fitur full-text search engine untuk model Eloquent. Secara otomatis Scout dapat menyimpan indeks pencarian secara sinkron dengan Eloquent records.
  • Laravel Passport, dirancang untuk membuat otentikasi API, memberikan berbagai kebutuhan untuk menggunakan server OAuth2 sendiri dengan cepat.
  • Laravel Mailable, fitur ini menyederhanakan cara pengiriman email dengan membuat class “mailable” yang menangani pengaturan email.
  • Laravel Notifications, digunakan dalam pengiriman berbagai update dengan cepat melalui service seperti Slack, pesan teks, email dan layanan lain.
  • Laravel Echo, fitur ini membuat Laravel Event di-broadcast melalui koneksi WebSocket, memungkinkan berbagi event yang sama antara kode server-side dengan kode client-side aplikasi JavaScript.
  • Fitur lainnya berupa peningkatan pada fitur Migration, Pagination, Blade, Queued Jobs, Query Builder, dan Cache helper yang dapat dilihat di Laravel News.