Sources and Customers / Sourceオブジェクト と Customerオブジェクト

「決済」及び「開発」関連用語集

カテゴリー: Stripe  閲覧数:182 配信日:2019-03-15 07:49


doc


Payments > SOURCES > Sources & Customers
Sources and Customers
ソースと顧客

・Customerオブジェクトを使用してソースを関連付けおよび管理する方法を学ぶ

Sourceオブジェクト


そのusageパラメーターで示されているように、 使い捨てまたは再使用可能にすることができる
・ソースは直接chargedできるが、 再利用可能なソースは、後で再利用できるように常にCustomerオブジェクトに関連付けする必要がある
・再利用可能なソースをCustomerオブジェクトに添付すると、以前にアプリやWebサイトで使用したことのある再利用可能な支払い方法のリストを顧客に提示できる

再利用可能なソース


特定の支払い方法(例: SEPA口座引き落とし)は再利用可能なソースをサポートしているので、あなたは顧客が再度支払いプロセスを完了する必要なしに追加の支払いを作成することができる
・reusableソースは、そのusageパラメータがreusableに設定されている

chargeリクエストを行う前に、再利用可能なソースをCustomerオブジェクトに関連付けする必要がある
・最初に関連付けせずに再利用可能なソースをchargeすると、そのchargeは消費される(そのステータスはchargeable から consumedへ変わる )
・消費されたソースは更なる支払いには使用できない

新しいCustomerオブジェクトへのソースの添付


Customerオブジェクトを作成して、1つのAPI呼び出しでソースを関連付けすることができる
・あなたがこの顧客に会うのが初めての場合、これは役に立つ
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_xxxx");

$customer = \Stripe\Customer::create([
 "email" => "paying.user@example.com",
 "source" => "src_18eYalAHEMiOZZp1l9ZTjSU0",
]);

・これは顧客の最初で唯一の支払い方法であるため、 ソースはCustomerオブジェクトの default sourceプロパティの値になる
・ソースを指定せずにcustomerパラメータを使用して請求を行うと、デフォルトのソースが自動的に選択される

既存のCustomerオブジェクトへのソースの関連付け


Customerオブジェクトの default sourceプロパティの値を更新
・デフォルトのソースを持つCustomerオブジェクトを更新すると、これによって既存のソースが自動的に切り離され、指定されたソースが新しいデフォルトとして追加される

Customerオブジェクトの default sourceプロパティの値を追加
・既存のデフォルトを置き換えずにソースを追加するには、以下に示すようにattachメソッドを使用する
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_xxxx");

$customer = \Stripe\Customer::retrieve("cus_AFGbOSiITuJVDs");
$customer->sources->create(["source" => "src_18eYalAHEMiOZZp1l9ZTjSU0"]);

・ここでは、 Customerオブジェクトにデフォルトのソースがすでに存在している可能性があるため、新しく追加されたソースはデフォルトのソースにはならない
・但し、 Customerオブジェクトを更新してdefault_source値としてソースを指定することで、default sourceを変更できる
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_xxxx");

\Stripe\Customer::update(
 "cus_AFGbOSiITuJVDs",
 [
   'default_source' => 'src_18eYalAHEMiOZZp1l9ZTjSU0',
 ]
);



Stripe Q24。After attaching the source to the customer object, how do I check from the customer object?

関連付けソースをCharging


chargeリクエストを行うとき
・Customerオブジェクトとソースの両方を指定する必要がある
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_xxxx");

$charge = \Stripe\Charge::create([
 "amount" => 1099,
 "currency" => "eur",
 "customer" => "cus_AFGbOSiITuJVDs",
 "source" => "src_18eYalAHEMiOZZp1l9ZTjSU0",
]);


ソースを指定せずにCustomerオブジェクトをchargeしようとすると
・Stripeは顧客のデフォルトのソースを使用する

CustomerからSourceオブジェクトを切り離す


特定のCustomerオブジェクトからソースを削除する必要がある場合は、そのソースを切り離すことができる
・detachされるとソースのステータスがconsumedに変わるので、一度detachすると使用することはできない
・chargeの作成には使用できなくなる
\Stripe\Stripe::setApiKey("sk_test_xxxx");

$customer = \Stripe\Customer::retrieve("cus_EiDcmm669r4cwb");
$customer->sources->retrieve("src_1EEnBAJiXAQvfxv3m86YDQVk")->detach();


デフォルトのソースID(src_xxxx)をdetachするとどうなるの?
・他のソースIDが自動的にデフォルトとなる
・この時の選定方法は不明

使い捨てのソース


使い捨てのソースは、顧客が支払いをするたびに作成する必要があり、再利用することはできない
・そのため、それらを顧客に永久に関連付けすることはお勧めできない

支払いを特定のCustomerオブジェクトに関連付ける場合
・ソースが関連付けされていなくても、ソースでchargeリクエストを行うときにcustomerパラメータを含めることができる
・ここで言う支払いと「ch_xxxx」なので注意が必要。カード情報の意味ではない
・例えば、(Customerオブジェクトに関連付けされていない)4111111111111111のソースID(src_xxxx)を指定した場合、4111111111111111のソースID(src_xxxx)で支払いが行われるが、4111111111111111カード情報はCustomerオブジェクトに関連付けされない
・つまり、トークンIDみたいな使い方もできる
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_xxxx");

$charge = \Stripe\Charge::create([
 "amount" => 1099,
 "currency" => "eur",
 "customer" => "cus_AFGbOSiITuJVDs",
 "source" => "src_18eYalAHEMiOZZp1l9ZTjSU0",
]);


・逆に、Charge::createする際、customereパラメータ指定する場合は、"source"パラメータとして、トークンID(tok_xxxx)を指定不可。これは恐らく、CustomerオブジェクトにTokenオブジェクトを関連付けられないため。Chargeオブジェクトをcreateする際、下記パラメータの組み合わせは不可だから
'customer' => 'cus_xxxx',
'source' => 'tok_xxxx',
Customer Token デモ3 参照

結果のChargeオブジェクト
・CustomerオブジェクトとSourceオブジェクトの両方を直接参照していなくても、それらを参照する

週間人気ページランキング / 1-21 → 1-27
順位 ページタイトル抜粋 アクセス数
1 Stripeアカウントへログインする際、モバイル端末で受信したコード入力を求められる理由は? | その他エントリー(Stripe) 21
2 その他エントリー(Stripe) カテゴリー 11
3 Stripe エラー(Stripe) カテゴリー 10
3 Stripe Q13。決済成功時に、「請求に紐づけられたメールアドレス」に対して、メール送信したいのですが、 | QA(Stripe) 10
4 Stripe Q50。 Connect 「Standardアカウント」で、自身に連結された子アカウントを、ダッシュボードから削除するには? | QA(Stripe) 9
5 Stripe Payments > PREPARING FOR SCA > Payment Intents | documentation(Stripe) 8
5 Stripe Q234。Connect カスタムアカウント手数料 | QA(Stripe) 8
6 Stripe Q16。PaymentIntentの支払いで郵便番号入力を求められる。Radar rules の ZIP code を無効にしているのに | QA(Stripe) 7
7 Something went wrong / You might be having a network connection problem, or the payment provider cannot be reached at the moment. | Stripe エラー(Stripe) 6
7 Stripe Q1。Stripeにおける個人事業主の定義 | QA(Stripe) 6
8 PayPal。PayPalアカウントを持っていない人はクレジットカード決済が出来ない。月額利用料3,000円を支払えば可能 | 「チャージ、支払、送金、出金」機能を有する決済系サービス(決済サービス) 5
8 EMVCo | クレジットカード仕様(仕様) 5
8 「払い戻し」と「チャージバック」の違い | 違い 5
8 Stripe Q31。ダッシュボードでの「支払い作成」の見方について | QA(Stripe) 5
9 ICとは? / ICクレジットカード / ICクレジットカードとは? 4
9 PaymentIntentで支払を実装する場合の選択肢 /「Payment Intents API」使用によるカードの支払確認方法は2種類 / PaymentMethodオブジェクトは歴史的経緯により3種類ある 4
9 Stripe Connect > | documentation(Stripe) 4
9 Stripe 変更履歴 | その他エントリー(Stripe) 4
9 「Gumroad」は、決済サービス「PayPal」を利用したオンラインコンテンツ販売サービス | デジタルコンテンツ販売可能なサービス(課金販売できるプラットフォーム) 4
9 日本で、Connect Standardアカウント を導入している(と思われる)事例 | その他エントリー(Stripe) 4
2022/1/28 1:01 更新
指定期間人気ページランキング / 2020-5-28 → 2022-1-27
順位 ページタイトル抜粋 アクセス数
1 Stripeアカウントへログインする際、モバイル端末で受信したコード入力を求められる理由は? | その他エントリー(Stripe) 1182
2 Stripe Q13。決済成功時に、「請求に紐づけられたメールアドレス」に対して、メール送信したいのですが、 | QA(Stripe) 721
3 Stripe Q16。PaymentIntentの支払いで郵便番号入力を求められる。Radar rules の ZIP code を無効にしているのに | QA(Stripe) 524
4 Stripe Q50。 Connect 「Standardアカウント」で、自身に連結された子アカウントを、ダッシュボードから削除するには? | QA(Stripe) 414
5 Stripe Q31。ダッシュボードでの「支払い作成」の見方について | QA(Stripe) 391
6 「Gumroad」は、決済サービス「PayPal」を利用したオンラインコンテンツ販売サービス | デジタルコンテンツ販売可能なサービス(課金販売できるプラットフォーム) 338
7 EMVCo | クレジットカード仕様(仕様) 321
8 Stripeで"No such token: src"と表示されたら、最初にAPIキーを確認する | Stripe エラー(Stripe) 298
9 Payment Intents Usage Guide / Payment Intents 使用ガイド 294
10 Stripe Q1。Stripeにおける個人事業主の定義 | QA(Stripe) 292
11 Stripe。Stripeアカウントを持っていない人でもクレジットカード決済が出来る | その他エントリー(Stripe) 277
12 Email Receipts / 電子メールの領収書 270
13 PaymentIntentで支払を実装する場合の選択肢 /「Payment Intents API」使用によるカードの支払確認方法は2種類 / PaymentMethodオブジェクトは歴史的経緯により3種類ある 262
14 Stripe Q11。テストAPIで、実際のカード番号を入力したらどうなりますか? | QA(Stripe) 243
15 Stripe webhook 配信の問題 | その他エントリー(Stripe) 242
16 documentation(Stripe) カテゴリー 237
17 Stripe Payments > PREPARING FOR SCA > Payment Intents | documentation(Stripe) 234
18 Stripe Connect Customアカウント の検討 | Stripe 224
19 Stripe Q15。PaymentIntent でエラー。カード番号に不備があります。 | QA(Stripe) 200
20 Stripe エラー(Stripe) カテゴリー 199
2022/1/28 1:01 更新