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,
    }
  );