カテゴリー:
Stripe
閲覧数:371 配信日:2019-03-18 11:35
最初に結論
Chargeオブジェクトをcreateする際
・下記パラメータの組み合わせは不可
'customer' => 'cus_xxxx',
'source' => 'tok_xxxx',
'source' => 'tok_xxxx',
Chargeオブジェクトをcreateする際、可能なパラメータ組み合わせ例は2
・パラメータ組み合わせ例1
・この場合'source'パラメータは、Customerオブジェクトの'default_source'プロパティ値となる
'customer' => 'cus_xxxx',
・パラメータ組み合わせ例2
'customer' => 'cus_xxxx',
'source' => 'src_xxxx',
'source' => 'src_xxxx',
質問履歴25
Why is it an error to use “token_xxxx” not associated with a Customer object for payment?
・2019/3/18
In the following PHP code, token_xxxx is associated with the Customer object
In the PHP code below, "token_xxxx" not associated with the Customer object is used for payment
・An error occurred
Customer cus_xxxx does not have a linked source with ID tok_xxxx
\Stripe\Stripe::setApiKey("sk_test_xxxx");
\Stripe\Customer::create([
"description" => "hoge",
"source" => "tok_amex"
]);
In the PHP code below, "token_xxxx" not associated with the Customer object is used for payment
\Stripe\Stripe::setApiKey('sk_test_xxxx');
$charge = \Stripe\Charge::create([
"amount" => 888,
"currency" => "USD",
"customer" => "cus_xxxx",
'source' => 'tok_visa',
]);
・An error occurred
Customer cus_xxxx does not have a linked source with ID tok_xxxx
Customerオブジェクトに関連付けていない「token_xxxx」を、支払いに使用するとエラーになるのはなぜですか?
下記コードでは、token_xxxxをCustomerオブジェクトに関連付けている
下記コードでは、Customerオブジェクトに関連付けていない「token_xxxx」を、支払いに使用している
・エラーが発生した
Customer cus_xxxx does not have a linked source with ID tok_xxxx
\Stripe\Stripe::setApiKey("sk_test_xxxx");
\Stripe\Customer::create([
"description" => "hoge",
"source" => "tok_amex"
]);
下記コードでは、Customerオブジェクトに関連付けていない「token_xxxx」を、支払いに使用している
\Stripe\Stripe::setApiKey('sk_test_xxxx');
$charge = \Stripe\Charge::create([
"amount" => 888,
"currency" => "USD",
"customer" => "cus_xxxx",
'source' => 'tok_visa',
]);
・エラーが発生した
Customer cus_xxxx does not have a linked source with ID tok_xxxx
・Why is it an error to use "token_xxxx" not associated with a Customer object for payment?
A
Stripe APIでは
・sourceは基本的に、保存された支払い方法(クレジットカードなど)である
「customer」パラメータでchargeを作成する場合
・2つのオプションがある
1)sourceパラメータなしで作成する
・この場合、顧客のデフォルトのソース(デフォルトの保存カード)が使用される
2)"source"パラメータを使って作成する
・この場合、提供されたsourceが顧客に保存されたカードであることを確認する必要がある
tok_visaは、どの顧客にも保存されていない単なるストライプテストトークンなので、 "Customer"と一緒に使用することはできない
・そのため、エラーが発生する