Search code examples
javascriptreactjspaypalpaypal-rest-sdkpaypal-subscriptions

PayPal Checkout subscribe buttons only show two payment methods, and enableFunding has no effect


I want to display different payment methods in my React app, but I don't get it to work, it only shows me two buttons: "PayPal Subscribe" and "Debit or Credit Card"

button image

I'm using react-paypal-button-v2

Here is my implementation:

        <PayPalButton
            amount={amount}
            currency={currency}
            createSubscription={(data, details) => createSubscription(data, details)}
            onApprove={(data, details) => onApprove(data, details)}
            onError={(err) => onError(err)}
            catchError={(err) => catchError(err)}
            onCancel={(err) => onCancel(err)}
            options={{
                clientId: process.env.REACT_APP_PP_CLIENT_ID,
                vault:true,
                currency: "EUR",
                enableFunding: "card,venmo,mercadopago",
                intent: "subscription"
            }}
            style={{
                shape: 'rect',
                color: 'white',
                layout: 'vertical',
                label: 'subscribe'
            }}
        />

I tried with enableFunding: < payment-methods > but it doesn't display any more buttons that those I had in the beginning.


Solution

  • It will only show the buttons that you are eligible for as a buyer, and venmo in particular can only be eligible on mobile in the US, and maybe not at all for subscription payments (some funding types can't be used for subscriptions, and so won't be eligible)

    To test as a buyer from other countries, you can add &buyer-country=XX to your SDK line, which that module should support via options={{. This buyer-country parameter only works in sandbox, will error if set in live mode