I have found hundreds if not thousands of posts on the Internet at large saying that Paypal won’t let customers use credit cards if they don’t have a Paypal account if you’ve integrated your cart using Express Checkout.
OK, that’s a bit of hyperbole. It probably wasn’t hundreds but it was enough that while initially searching for a solution, I took it as gospel that is just wasn’t possible.
Then, when attempting to convert WP Event Ticketing to use Web Payments Standard and hitting some snags, it took me almost an hour to hit upon the correct combination of words while searching Google that led me to this post.
The relevant information is this
It appears that some of the confusion surrounds the myth that Express Checkout requires users to have a PayPal account to make payment. This is patently untrue. To allow credit card payments without creation of a PayPal account set SOLUTIONTYPE to Sole in the SetExpressCheckout api call. To change the first page of the Express Checkout flow from a PayPal login page to both a credit card form AND a paypal login form set LANDINGPAGE to Billing in the SetExpressCheckout api call.
That’s all there is to it. The relevant bit of my code went from this
$nvp = array('PAYMENTREQUEST_0_AMT' => $total, "RETURNURL" => $returnsite, "CANCELURL" => $returnsite, "PAYMENTREQUEST_0_PAYMENTACTION" => 'Sale', "PAYMENTREQUEST_0_CURRENCYCODE" => 'USD'
$nvp = array('PAYMENTREQUEST_0_AMT' => $total, "RETURNURL" => $returnsite, "CANCELURL" => $returnsite, "PAYMENTREQUEST_0_PAYMENTACTION" => 'Sale', "PAYMENTREQUEST_0_CURRENCYCODE" => 'USD', "SOLUTIONTYPE" => 'Sole', "LANDINGPAGE" => 'Billing'
That’s all there is to it. Customers are now faced with either using their credit cards or using their Paypal account while checking out.
Tonight we are releasing WP Event Ticketing version 1.2.2 which gives your buyers the option to purchase tickets with a credit card without requiring them to have a Paypal account.