[Django]-In stripe checkout page display Country or region fields how to remove it

7👍

Country is a field required by Checkout, and depending on the country selected, the postal code is automatically displayed as a requirement for specific countries. You cannot remove these fields in Checkout.

If you do not want to collect the country and postal code, you can choose to use Payment Element [0] to collect the payment method details instead. You can disable collection of those details by specifying never in the relevant fields [1][2].

[0] https://stripe.com/docs/payments/payment-element
[1] https://stripe.com/docs/js/elements_object/create_payment_element#payment_element_create-customized_fields-fields-billingDetails-address-country
[2] https://stripe.com/docs/js/elements_object/create_payment_element#payment_element_create-customized_fields-fields-billingDetails-address-postalCode

6👍

Further expounding on makoto’s answer as the docs did not fully explain, here is how you would do it in JS:

// Create and mount the Payment Element
var paymentElement = elements.create('payment', {
    fields: {
        billingDetails: {
            address: {
                country: 'never',
                postalCode: 'never'
            }
        }
    }
});

Be warned however: If you leave the zip code, removing only the country, the zip box will be ginormous.

2👍

According to Stripe’s documentation, Country is a field required by Checkout, but if you are hiding the country, you will need to set a default value.

    // Create and mount the Payment Element
    const paymentElement = elements.create('payment', {
            fields: {
                billingDetails: {
                    address: {
                        country: 'never'
                    }
                }
            },
          });

    // Confirm the card payment that was created server side:
    const {error} = await stripe.confirmPayment({
            elements,
            confirmParams: {
              return_url: `your_return_url`,
                payment_method_data: {
                    billing_details: {
                        address: {
                            country: 'HK'
                        }

                    }
                },
            }
          });

https://stripe.com/docs/js/elements_object/create_payment_element

0👍

In React native CardForm

If want to change the country code then
defaultValues={{countryCode:'IN'}}

OR

<CardForm
  defaultValues={{countryCode:'none'}}
    onFormComplete={cardDetails => {
      console.log('card details', cardDetails);
      setCard(cardDetails);
    }}
    
    postalCodeEnabled={true}
    placeholder={{
      number: '4242 4242 4242 4242',
    }}
    cardStyle={{
      backgroundColor: '#000001',
      textColor: '#f2f2f2f2',
      borderRadius: 8,
      borderWidth: 1,
      textErrorColor: 'red',
      placeholderColor: 'grey',
      borderColor: '#ffffff',
    }}
    autofocus={false}
    style={{
      width: windowWidth-8,
      height: windowHeight / 2,
      alignItems: 'center',
      marginHorizontal: 4,


    }}
  />

Leave a comment