目次一覧
状態:後回し
閲覧数:1,612
投稿日:2019-03-12
更新日:2019-04-27
これから確認していく予定の項目
確認完了した項目
諸事情により確認行為自体を取り止めた項目
確認完了した項目
諸事情により確認行為自体を取り止めた項目
これから確認していく予定の項目
Billing
・Billing Modes: Sending Invoices to Customers
Sources
・ライブラリが、ソースオブジェクトのcreateメソッドを読み込んでいる箇所の確認
・Stripe Payments > SOURCES / ソース
・Stripe Payments Demo
もしかしたら取り組むかも
Development Quickstart
Checkout Server Quickstart
・\Stripe\Checkout\Session::createメソッドでCustmerオブジェクトが自動作成される理由
・明示的にCustomer::create実行しなくても、上記処理を実行すると「Custmerオブジェクトが内部的に自動作成される」が、どこで作成されるか不明なので確認したい
確認完了した項目
Payments > PREPARING FOR SCA > Checkout (new)
Checkout Server Quickstart Beta / チェックアウトサーバーのクイックスタート ベータ
・途中でPHPコードが掲載されていない箇所がある。後で要チェック!
・2019/4/17。確認済
Using Checkout with Connect / Connectでチェックアウトを使用する
・PHPコードが掲載されていないため省略
・恐らく作成中なのだと思われ
・後で要チェック!
・2019/5/2。Ruby以外のコードも掲載された
Migration from legacy to new Checkout / レガシーから新しいチェックアウトへの移行
・PHPコードが掲載されていないため省略
・恐らく作成中なのだと思われ
・後で要チェック!
・2019/5/2。Ruby以外のコードも掲載された
「PaymentIntent」で「card object」へ保存できるか?
この表現自体が既に誤り
・Cardオブジェクトは、Customerオブジェクトの「sourcesプロパティ」内にある「dataプロパティ」内に、「リスト構造化されて配置される」仕様
・PaymentIntentオブジェクト作成時、CardオブジェクトをCustomerオブジェクトへ格納するためには、2つの要件がある
要件1.PaymentIntentオブジェクト作成する際、Customerオブジェクトを関連付ける
・具体的には、"customer"パラメータにCustomerオブジェクトのidを指定する
$customer = \Stripe\Customer::create([
'email' => 'paying.user@example.com',
]);
$paymentintent = \Stripe\PaymentIntent::create([
"amount" => 1099,
"currency" => "jpy",
"customer" => $customer->id,
]);
要件2.支払い方法も関連付ける
・具体的には、save_payment_methodパラメータにtrueを指定する
const {paymentIntent, error} = await stripe.handleCardPayment(
clientSecret, cardElement, {
payment_method_data: {
billing_details: {name: cardholderName.value}
},
save_payment_method: true,
}
);
処理が成功すると?
・ダッシュボードで該当顧客のカード欄にカード情報が表示される
→ Customerオブジェクトの「sourcesプロパティ」内にある「dataプロパティ」内に、Cardオブジェクトがリスト構造化されて配置される
・PaymentIntentで支払を実装する場合の選択肢
「PaymentIntent」と「Customer」の関係
PaymentIntent
・あくまで決済のみでの利用
決済せずにカード情報登録したい場合
従来
・Elementsでカード情報をトークンまたはソースとして取得し、Create customer APIで顧客にカード情報を登録する
・処理が正常に終了すると、ダッシュボードで該当顧客のカード欄にカード情報が表示される
→ Customerオブジェクトの「sourcesプロパティ」内にある「dataプロパティ」内に、Cardオブジェクトがリスト構造化されて配置される
今後
・stripe.jsでsave_payment_methodパラメータにtrueを指定する
・処理が正常に終了すると、ダッシュボードで該当顧客のカード欄にカード情報が表示される
→ PaymentMethodオブジェクトが生成される
※ Customerオブジェクトの「sourcesプロパティ」内にある「dataプロパティ」内に、Cardオブジェクトがリスト構造化されて配置されたりはしない
諸事情により確認行為自体を取り止めた項目
「PaymentIntent」と「支払元」の関係
2019年3月18日
・ダッシュボードの顧客詳細ページの「支払元」欄自体が表示されなくなったので、下記が正しいか確認する必要性はなくなった
「PaymentIntent object」作成した場合は、必ず「支払元」へ保存されるが、「支払元」へ保存するために、必ず「PaymentIntent object」作成する必要はない