In testing mode when I create a new customer and tries for payment, i got this error.
Customer cus_7Zz2BCnybIZLGw does not have a linked card with ID
Im using card number : 4242424242424242
The return response is,
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. )
Input Charge Data is,
$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' => [email protected], 'description' => 'my payment', 'customer' => $customer_id );
There are three different ways to create a charge:
customerparameter only. In this case,
customerneeds to be a customer ID, i.e. a string that starts with
cus_. The customer’s default payment source will be charged.
with both the
sourceparameters. In this case,
customerneeds to be a customer ID as in the previous case, but
sourceshould be the ID of a payment source that is already attached to the customer. Payment sources can be cards (ID starts with
card_), bank accounts (ID starts with
ba_) or sources (ID starts with
In your case, you’re passing a token ID in the
source parameter along with a customer ID in the
If this is a new card, you should first use the token to create a card on the customer, then create the charge with the card ID. If the card was already saved for this customer, then you don’t need to collect the card information again (and thus don’t need to create a token at all).