I am developing an app using Apple Pay for a US Client from outside the US. I am using Braintree + Apple Pay. We support real credit cards to Passbook, but we can\'t verify
Most likely this is happening because no payment cards are configured for any of those networks. From the documentation:
On devices that support making payments but don’t have any payment cards configured, the
canMakePaymentsmethod returnsYESbecause the hardware and parental controls allow making payments, but thecanMakePaymentsUsingNetworks:method returnsNOregardless of network.
The documentation also mentions other reasons:
User may not be able to make payments for a variety of reasons. For example, this functionality may not be supported by their hardware, or it may be restricted by parental controls.
On a separate note, if(self.braintree!=nil && self.braintree != Nil is redundant - those are the same. I would simply collapse this into if (self.braintree) { …