On iOS, when we add a card, the SDK offers to fill in the billing address that will be attached to the new card but on Android there is no such feature.
12.5.0
I have found the PaymentMethod.BillingDetails.Builder but we can not attach it to the PaymentMethodsActivityStarter. It is only for the PaymentFlowActivityStarter.
Maybe the PaymentMethodsActivityStarter.Args could have two additional methods:
setShouldRequireBillingAddress(state: Boolean) to display into the AddPaymentMethodActivity a BillingInfoWidget similar to ShippingInfoWidget.setBillingAddress(address: BillingDetails) to preset data.@jose-t thanks for the suggestion. We'll explore adding this functionality.
I agree this is necessary - currently in Android a customer can add their card details, but if they don't have an existing billing address associated with their account, attempting to charge the card for a subscription results in a 'Card XXX not ready to charge'
If you only need postal code, you can require it currently in the SDK by using:
paymentSession.presentPaymentMethodSelection(true)
I need a billing address foreach new card. Maybe the user can attach a billing address to a new card but I didn't find a way to do it.
Need the feature badly! Any way to get the billing information for now without an official build?
I've lost several customers of the last week because the Android app comes up with an error 'Card not ready to charge' as there are no billing details.
Is there a timescale for this to get incorporated, or a work-around in the interim?
I have put up a PR to add support for this feature. See #1956 for more details.
This is now available in 12.8.0
Most helpful comment
@jose-t thanks for the suggestion. We'll explore adding this functionality.