カテゴリー:
その他エントリー
閲覧数:312 配信日:2019-04-26 10:46
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オブジェクトがリスト構造化されて配置されたりはしない