How to send extra parameter in stripe charge. - php

I am integrating stripe payment gateway. i have integrated it successfully. but the problem is that i want to send exptra parameter for stripe one time and get that in response.
Now i using
Stripe_Charge::create(array(
"amount" => number_format($amount,2,".","")*100,
"currency" => AccountCurrency,
"card" => $_POST['stripeToken'],
"description" => "Desc: " . $custom
));
I want to send extra partameter like order_id and want that from response as stripe give customer id for recurring charge.
Stripe_Charge::create(array(
"amount" => number_format($amount,2,".","")*100,
"currency" => AccountCurrency,
"card" => $_POST['stripeToken'],
"description" => "Desc: " . $custom,
"Order_id => $order // Is there any method to send paramerte like this.
));
Thank you.

You can use the metadata attribute. See below -
Stripe_Charge::create(array(
"amount" => number_format($amount, 2, ".", "")*100,
"currency" => AccountCurrency,
"card" => $_POST['stripeToken'],
"description" => "Desc: " . $custom,
"metadata" => array("order_id" => $order)
));
Check the documentation here

// Get Logged Customer Id using Logged User's Email
Dictionary<string, string> Extra = new Dictionary<string, string>();
Extra.Add("email", ByEmail);
StripeCustomer customer = customerService.List(new StripeCustomerListOptions() { Limit = 1, ExtraParams = Extra }).SingleOrDefault();

Related

I'm using Stripe API in my code and I have an error : You cannot use a Stripe token more than once: tok_1EIw1gKIAV9zC39qQnFXKzi6

I got an error saying :
Customer cus_EmVoBWWrqnWw4W does not have a linked source with ID tok_1EIw1gKIAV9zC39qQnFXKzi6.
here is my code :
\Stripe\Stripe::setApiKey("sk_test_rUFQ9fpJoK9TlRVJs1nSYd6C");
$user = new User();
$email = $user->getEmail();
//creation du client
$customer = \Stripe\Customer::create(array(
"email" => $email,
));
$charge = \Stripe\Charge::create(array(
"amount" => 2000,
"currency" => "eur",
"source" => $request ->request->get('stripeToken'),
"description" => "Stripe connect - Order 36",
"customer" => $customer->id
));
\Stripe\Stripe::setApiKey("sk_test_rUFQ9fpJoK9TlRVJs1nSYd6C");
$refund = \Stripe\Refund::create([
'charge' => $charge,
'amount' => 1000,
]);
You need to save the card to the customer and then charge the customer. After that, unless the customer has multiple sources and you want to use a specific one, you won't need to pass source to Charge::create.

stripe create payout getting error "Sorry, you don't have any external accounts in that currency (usd)"

I am working on create payout, while run the code i am getting error
Sorry, you don't have any external accounts in that currency (usd)
first i am creating the customer, and then i am creating the bank account, and after then i am doing the payout, can anyone please help me how can i resolve this issue, here is my code
<?php
require_once('init.php');
\Stripe\Stripe::setApiKey("*************");
$customer = \Stripe\Customer::create(array(
"description" => "Customer for payout"
));
$customer_id = $customer->id;
$customer = \Stripe\Customer::retrieve($customer_id);
$bank_data = \Stripe\Token::create(array(
"bank_account" => array(
"country" => "US",
"currency" => "usd",
"account_holder_name" => "Charlotte Thomas",
"account_holder_type" => "individual",
"routing_number" => "110000000",
"account_number" => "000123456789"
)
));
$bank_token = $bank_data->id;
$bank_account = $customer->sources->create(array("source" => $bank_token));
$payout_data = \Stripe\Payout::create(array(
"amount" => 100,
"currency" => "usd",
));
echo "<pre>";
print_r($payout_data);
die;
?>
You're adding a bank account as a payment source to a customer object, i.e. for ACH payments.
For payouts, if this is your own Stripe account, you need to enter your bank account details in your dashboard at https://dashboard.stripe.com/account/payouts. You'll also need to set your payout schedule to "Manual" if you want to be able to create payouts via the API.
Also note that when creating charges, funds are not immediately available, so you will not be able to create a payout immediately after creating a charge. You can read all about payouts in Stripe's documentation at https://stripe.com/docs/payouts.

Get charge ID after Stripe payment and issue refund in PHP

I'm using Stripe to process my payments in PHP with the API found here https://github.com/myg0v/Simple-Bootstrap-Stripe-Payment-Form
I'm using the following code to issue payment:
$charge = Stripe_Charge::create(array("amount" => $amount,
"currency" => "$currency",
"card" => $stripetoken,
"description" => $email));
Will the following code retrive the charge_id and refund the user?
$charge_id = $charge->stripe_charge_id;
$refund = Stripe_Refund::create(array(
"charge" => "$charge_id"
));
This syntax is for old versions of Stripe's PHP library (1.x). You should make sure that you use the latest version (currently 4.4.0).
Stripe's API reference includes samples for every request and language. You can check the sample requests for:
creating a charge
creating a refund
Basically:
$charge = \Stripe\Charge::create(array(
"amount" => $amount,
"currency" => $currency,
"source" = $token,
"description" => "Charge for $email"
));
$refund = \Stripe\Refund::create(array(
"charge" => $charge->id
));

How to cancel the stripe payment and debit the money to client account

Hello I am using following code for transaction
require_once('Stripe/lib/Stripe.php');
Stripe::setApiKey("<Api key>");
$customer = Stripe_Charge::create(array(
"amount" => 1500,
"currency" => "usd",
"card" => $_POST['stripeToken'],
"description" => "Charge for Facebook Login code."
));
echo "<pre>";print_r($customer);die;
// Charge the Customer instead of the card
$charge = Stripe_Charge::create(array(
"amount" => 1500,
"currency" => "usd",
"customer" => $customer->id)
);
echo 'Transaction Id '.$charge->id;
I have one cancel button if i click on that the payment which done by user will be revert back to client account
You'll most likely need to refund the money you charged from the card and then have the Cancel button run the charge on the customer instead.
This can be accomplished as followed:
(1) Retrieve the charge's identifier:
$charge = \Stripe\Charge::create(array(
...
));
// you can use the var_dump function to see what's inside the $charge object
// var_dump($charge);
$chargeID = $charge->id;
(2) Refund the user:
$re = \Stripe\Refund::create(array(
"charge" => $chargeID
));
(3) Charge the customer instead:
// Charge the Customer instead of the card
$charge = Stripe_Charge::create(array(
"amount" => 1500,
"currency" => "usd",
"customer" => $customer->id)
);
echo 'Transaction Id '.$charge->id;

how to include a parameter in strip payment gateway

this is my code now i want to include plan=>monthly for recurring payment but its not taking plan=>monthly parameter and giving the error UNVALID REQ any other idea about recurring payment or please correct this one. Please
try{
require_once(APPPATH.'libraries/Stripe/lib/Stripe.php');
Stripe::setApiKey("dfsdfsdfsd");
$charge = Stripe_Charge::create(array(
"amount" =>$amt,
"currency" => "usd",
"card" => $_POST['stripeToken'],
"description" => "asdasdad"
));
You've to use 'interval' parameter.
'interval' => 'month'

Categories