あるアプリ開発でPay.jpを用いた商品購入機能実装を担当した際、なかなか概念が掴みづらかったので解説
#まずそもそもPay.jpとは
・結論
開発者向けのクレジット決済代行サービス
※こちら実装して利用申請すれば本当のクレジット決済できます。
####大きく分けて2つのモードがあります。
[ライブモード]本番運用
[テストモード]動作確認←チーム開発ではこちらやりました。
決済の流れ
1、クレジットカード情報を入力フォームから入力
2、入力フォームにpay.jpのシークレットキーを埋め込むのでここでpay.jp側でカード情報照会(そのカードは存在するのか?)はしてくれます。
※emailを適当なアドレス(test@testなど)で登録すると
| AuthenticationError | PayjpのAPIによる認証に失敗してエラーが出ます。
3、カード情報に間違いなければ一旦「トークン」と呼ばれるクレジットカードidのみ持ったお買い物券が発行される(現金を一旦nimocaに変える感じ。いくら入ってるかは確認出来るがnimoca単体での金銭的価値はない)
4、品物(product)を購入した場合、決済情報+トークンが一緒にカード会社に送られ決済完了となります。(nimocaを改札口に通した時、決済とカード情報が送られ金額が引かれるイメージ)
#なぜpay.jp使うのか?
上記の流れだと直接クレジットカードで決済した方が早いように感じます
しかし、実際クレジットカード決済行うためにはそれぞれのクレジットカード会社と提携契約を結ぶ必要があります。
わざわざ契約めんどくさい、という開発者サイドの代行をしてくれるのがpay.jpとなります。