###前提・実現したいこと
学習用に作成しているWEBサービス(コピーサイト)にPAY.JPを利用して決済機能をつけようとしています。オリジナルがユーザー登録時にクレジットカード情報を登録する形式なので、本サービスも同じ仕様にしたいです。
しかし、カードトークンの生成はできるのですが、
payjp側の顧客と生成されたカードトークンが結び付けられずに困っています。
###発生している問題・エラーメッセージ
Railsで実装しようとするとセキュリティ周りのエラーが出る。
payjp.jsを利用するとカードトークンは作成できるが、顧客と結びつかない。
###該当のソースコード
必要があれば記載します。
###試したこと
####① railsのcreateメソッド内で作成してみる。
Railsで実装しようとすると下記のエラーが出ます。
エラー文:
Sending credit card numbers directly to the API is generally unsafe. Use Checkout or payjp.js.
参考:http://payjp-announce.hatenablog.com/entry/2017/11/10/182738http://payjp
####② エラー文に言われた通りpayjp.jsを利用し、実装してみる。
カードトークンの生成はできますが、顧客の作成ができませんでした。
payjp.jsでカードトークンを生成後、json形式でレスポンスが返ってきます。
その中のid情報を使って、railsからcreateすればカード情報の紐づいた顧客が作成できるのですが、
javascriptからrailsに渡し方がわかりませんでした。
(非同期で入手したデータはそもそも無理でしょうか)
####③先に顧客を作成し、後からカード情報を紐付ける。
クライアントがカード情報を入力する前のVIEWで空の顧客を作成し、
その顧客のIDを利用してカードトークンを作成すればできるのではと思ったのですが、
何を以ってそのID指定できるのか、、、となりました。
####④JavaScriptで顧客を作成する。
非同期に非同期を重ねるというのは、そもそもできるのでしょうか。
レスポンスで返ってきたjsonの中のidを使ってcreateできればできると思ったのですが、
payjp.jsの関数内で顧客登録もできるのでしょうか。
###補足情報(FW/ツールのバージョンなど)
初心者なので、スペック等どこまで記述すれば良いのかわからないのですが、
取り急ぎ下記の環境で作業しております。
macOS Mojave 10.14
Rails 5.1.6
ruby 2.3.1
rbenv 1.1.1
mysql 5.6.42

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/11 04:13