Stripe paiement: obtenir erreur comme client cus * * * * * ne pas avoir une carte liée avec ID tok *****
En mode test lorsque je crée un nouveau client et essaie de payer, j'ai eu cette erreur.
Le Client cus_7Zz2BCnybIZLGw n'a pas de carte liée avec ID tok_17Kp8GAwLkQPB7OqrrM73VVI
Im en utilisant le numéro de carte: 4242424242424242 exp_month: 12 exp_year 2016
La réponse de retour est,
Array
(
[charge_status] =>
[error_info] => Array
(
[type] => invalid_request_error
[message] => Customer cus_7Zz2BCnybIZLGw does not have a linked card with ID tok_17Kp8GAwLkQPB7OqrrM73VVI.
[param] => card
[code] => missing
)
[message] => Customer cus_7Zz2BCnybIZLGw does not have a linked card with ID tok_17Kp8GAwLkQPB7OqrrM73VVI.
)
Les données de Charge D'entrée sont,
$customer = Stripe_Customer::create(array(
'account_balance' => 100,
'source' => $token,
'email' => strip_tags(trim($email))
)
);
$customer_id = $customer->id;
$charge = array(
'card' => 4242424242424242,
'amount' => 100,
'currency' => 'cad',
'receipt_email' => test@test.com,
'description' => 'my payment',
'customer' => $customer_id
);
2 réponses
, Il existe trois façons différentes de créer une taxe:
Avec le
sourceparamètre uniquement. Dans ce cas,sourcedoit être un jeton ou source ID (créé par Caisse ou Rayure.js), c'est à dire une chaîne qui commence partok_ousrc_.Avec le
customerparamètre uniquement. Dans ce cas,customerdoit être un clients ID, c'est à dire une chaîne qui commence parcus_. Le paiement par défaut du client source sera facturé.Avec les paramètres
customeretsource. Dans ce cas,customerdoit être un ID client comme dans le cas précédent, maissourcedoit être L'ID d'une source de paiement qui est déjà attachée au client. Sources de paiement peut être cartes (ID commence parcard_), comptes bancaires (ID commence parba_) ou sources (ID commence parsrc_).
Dans votre cas, vous passez un identifiant de jeton dans le source avec un ID client dans le paramètre customer.
Si c'est une nouvelle carte, vous devez d'abord utiliser le jeton de créer une carte sur le client, puis de créer la charge avec l'ID de la carte. Si la carte a déjà été enregistrée pour ce client, vous n'avez pas besoin de collecter à nouveau les informations de la carte (et n'avez donc pas besoin de créer un jeton du tout).
J'avais défini "SourceToken" dans StripeCustomerCreateOptions et "SourceTokenOrExistingSourceId" dans StripeChargeCreateOptions (SourceToken) pour mon Stripcustomer.
La Suppression de L'affectation de SourceTokenOrExistingSourceId a résolu mon problème pour mon StripeCharge, car le jeton a créé des identifiants contradictoires.