PayPalでも出来るオンライン決済!Stripeとどちらがお勧めか?
Silicon Valley Super Ware
2020年9月24日
PayPalでも出来るオンライン決済
今月は、Webサービスに組み込むオンライン決済をテーマにお届けしています。いろいろあるサービスからStripeを選んで紹介してきましたが、他のサービスもあります。
比較的利用者が多いのがPayPalです。今回は簡単にPayPalでのオンライン決済について紹介します。
PayPalもStripeと似たオンライン決済を提供しています。PayPalのサイトが提供するオンライン決済のフームを使えば、Stripeの場合と同様にオンライン決済を行う事が可能です。
プログラムをしなくても使える!Stripeとどちらがお勧めか?
PayPalが便利なのは余りプログラムに詳しくない方でも、自分のサイトにオンライン決済の仕組みを簡単に組み込めることです。
PayPalのサイトにある「コード」を自分のWebページのHTMLファイルに埋め込めば、バックエンドの処理なしでオンライン決済が可能です。
PayPalのサイトのコードを利用したHTMLファイルの例です。
<!DOCTYPE html>
<html>
<head>
<meat charset="utf-8" />
<title>ペイパルによるオンライン決済のサンプルページ</title>
</head>
<body>
<div id="smart-button-container">
<div style="text-align: center">
<div id="paypal-button-container"></div>
</div>
</div>
<script
src="https://www.paypal.com/sdk/js?client-id=sb¤cy=USD"
data-sdk-integration-source="button-factory"
></script>
<script>
function initPayPalButton() {
paypal
.Buttons({
style: {
shape: "rect",
color: "gold",
layout: "vertical",
label: "paypal",
},
createOrder: function (data, actions) {
return actions.order.create({
purchase_units: [
{ amount: { currency_code: "USD", value: 1 } },
],
});
},
onApprove: function (data, actions) {
return actions.order.capture().then(function (details) {
alert(
"Transaction completed by " +
details.payer.name.given_name +
"!"
);
});
},
onError: function (err) {
console.log(err);
},
})
.render("#paypal-button-container");
}
initPayPalButton();
</script>
</body>
</html>
ほぼ、PayPalの提供するコードです。このページを開くと
このようなボタンが現れます。あとは、商品を選んだりする仕組みを作ればオンライン決済は特に特別なコードを書かなくても利用できます。
Stripeはバックエンドが必要なのにPayPalは不要なの?と思う方も多いかと思います。
<script
src="https://www.paypal.com/sdk/js?client-id=sb¤cy=USD"
data-sdk-integration-source="button-factory"
></script>
PayPalの場合、上のコードの上記の部分で「slient-id」をクエリーパラメータで送っています。「sb」はテスト用のIDになりますが、支払先のPayPalのIDを送る必要があります。
このIDは、PayPalに開発者でログインして、My Accountで取得できます。
このIDをPayPalに送る事で、送金先のアカウントを特定しています。
セキュリティは?
このIDだけでは、お金を引き出す事はできませんので、リスクは低いと考えられます。
別のIDにお金を送金する理由も余り見当たりませんし、現実的には大きな問題ではないというのがPayPalの考え方なのだと思います。
Stripeの方は、このプロセスが2段階になっていて、公開鍵を使ってバックエンドに送って、バックエンドが秘密鍵を使ってStripeからオンライン決済のIDを取得した後に、Stripeで準備されたフォームを利用して決済するというのが仕組みです。
PayPalの場合は直接PayPalのIDを送って決済を行うという仕組みです。
違いは、PayPalは毎回同じアカウントのIDを使うのに対して、Stripeの方は、毎回異なるセッションIDを作って決済を行うという仕組みです。こちらの方がより安全に決済が行えるというのが、私がStripeを使っている理由です。
安全を取るか、簡単に実装を取るか?
どちらも、基本的には大きな問題はないといえますが、どちらをあなたのオンライン決済に使うかは、安全性か簡易性のどちらを選ぶかによります。
バックエンドを作らないという場合は、選択者はPayPalになりますが、バックエンドを作っても良いならばStripeは魅力的な方法です。
もう一つはオンライン決済以外でバックエンドを使うか使わないかもポイントです。
既に紹介したように、オンラインコンテンツのダウンロードページを考えた場合、バックエンドを利用できるとより、便利なサービスが提供できます。
バックエンドを作らない場合、ダウンロードページにも制限がついてきます。
利用手数料は?
では、利用料金はどうでしょうか?
ここでは、2020年9月24日時点での「基本料金」(ボリュームディスカウントなどを含まない)で比較しています。この料金も国や地域によって異なる設定がされています。
例えばストライプの場合:
- 日本での設定は:決済金額の3.6%です
- アメリカでは:決済金額の2.9%+30セント
です。結構日本とアメリカでは違いますね!
PayPalの場合は:
- アメリカでは:国内は決済金額に対して一律2.9%(国外は別料金)
- 日本では:決済金額によって国内は2.9%~3.6%+40円、海外は3.4%~4.1%+40円
日本のPayPalのオンライン決済の手数料は30万円以下の場合は、3.6%+40円なので、30万円以下の決済が多い場合は、Stripeの方がお得という事になります。
手数料の面からもStripeの方が都合が良い部分が多くなています
これを見てどのように判断するかです!
プログラマーにはStripeをお勧め!
Stripeはバックエンドのサービスが必要になってきますが、これまでお伝えしてきたように、バックエンドと言っても簡単なプログラムで対応できます。決済の手数料を見ても、Stripeの方が、特に少額決済が多い場合お得です。
自分でプログラムが書けるならばStripeがお勧めです!
他にもSqureなどオンライン決済を提供しているサービスがあります。実際にどれを使うか決める前に手数料や決済のためのプログラミングの中身を見た上で決められると良いと思います。アメリカのオンラインビジネスではStripeを使うケースが多くなっているようです!
9月からは、Firebaseに特化した開発の紹介を考えています。ぜひあなたの開発にもFirebaseを検討してみてはいかがでしょうか?
興味のある方は今すぐお問合せください!
またよろしければ、ニュースレターの登録をお願いします!大体週一回お届けしています。ブログよりは一歩踏み込んだもっと濃い内容を発信しています。
コメント
コメントを投稿