1
私のコードでは、顧客が名前とカードの詳細を入力し、PHPスクリプトに戻ってストリーミング顧客を作成し、カードを請求する購入リクエスト。Stripe CheckoutとOmnipayを使用したサブスクリプションの作成
可能であれば、同じカードとomnipayライブラリを使用してサブスクリプションを追加するにはどうすればよいですか?トークンを使用するか、購入オブジェクトのソースIDを取得して使用し、購入後にサブスクリプションを作成しますか?
クラス内で、以下のコードでcreateSubscriptionを呼び出すと、「この顧客は支払い元がありません」というエラーが表示されます。
public function createSubscription($token,$customer_id,$plan,$source_id)
{
try {
$response = $this->gateway->createSubscription(
array(
'customerReference' => $customer_id,
'plan' => $plan,
'source' => $token
)
)->send();
if ($response->isSuccessful()) {
$data = $response->getData();
return $data;
}
} catch (Exception $e) {
$message = "Error creating Stripe subscription: " . $e->getMessage();
return;
}
}
ストライプサブスクリプションは、常に、顧客にデフォルトのカード(default_source)を充電します 何ここで「ソース」に渡していますか? Stripe.js/Checkoutから取得したトークン(テスト用:tok_visa)? – duck
お客様が「Checkout」を完了した後、Stripeから受け取ったトークンを渡そうとしました。ここで 'ソース'がトークンであるかどうか、またはソースIDかカードオブジェクトのいずれかである必要があるかどうかは不明です。私は、カードを充電した後にサブスクリプションを追加しようとしますが、ソースがワンタイムチャージにしか適さないかどうかはわかりません。 –
購入後、ソースIDまたはトークンのいずれかを使用できないため、「invalid_request_error - この顧客には支払い元がありません」というメッセージが表示されます。顧客の作成依頼を使用して再試行します。 –