Always handle errors when you use stripe functions. You don't want to make mistakes when it comes to people's money.
$stripe_client = new Stripe_Client( $user, $stripe_secret, $token );
try {
$customer = $stripe_client->create_customer();
} catch (Exception $e) {
//Handle it.
}
$stripe_client = new Stripe_Client( $user, $stripe_secret );
//First we get him
try {
$customer = $stripe_client->retrieve_customer();
} catch ( Exception $e ) {
//Handle it.
}
//Now we charge
try {
$charge = $stripe_client->charge_customer( $customer, 50000, 'Product payment');
} catch ( Exception $e ) {
//Handle it.
}