Export transactions require a customer name and address - Stripe Error
change the currency to INR from USD
i was working on Node & React this helps me
currency: 'INR'
this will fix your problem probably.
As your error suggested you need to pass address object in stripe customer create API as per below example
$customer = \Stripe\Customer::create(array(
'name' => 'test',
'description' => 'test description',
'email' => $email,
'source' => $token,
"address" => ["city" => $city, "country" => $country, "line1" => $address, "line2" => "", "postal_code" => $zipCode, "state" => $state]
));
Note: line1 is required in address object
Even I was facing the same issue.
Just make sure you are putting the same currency.
For example: if you have mentioned india as your country then put "inr" else "usd" use this for your reference:
customer=stripe.Customer.create(
email=request.POST["email"],
name=request.POST["nickname"],
source=request.POST["stripeToken"],
)
customer=stripe.Customer.modify(
customer.id,
address={"city":"mumbai","country":"india","line1":"unr","line2":"thane","postal_code":"421005","state":"maharashtra"},
)
charge=stripe.Charge.create(
customer=customer,
amount=500,
currency='inr',
description="payment"
)
i had this issue in stripe nodejs i fixed it by passing address
const stripeAddress: Stripe.AddressParam = {
line1: userAddress.street1,
line2: userAddress.street2,
city: userAddress.city,
country: userAddress.country,
postal_code: userAddress.zip,
state: userAddress.state,
};
const stripeCustomer: Stripe.Customer = await this.stripe.customers.create(
{
name: userData.name,
description: userData.description,
email: userData.email,
phone: userData.phoneNumber,
address: stripeAddress,
}
);