Pay In 4 issue - Express Checkout integration (NVP API)

juney168
Contributor
Contributor

Hi everyone!

 

We have used the Express Checkout integration (NVP API) in our online system for over 10 years. Never before have we encountered any PayPal issues until now. In regards to the Pay Later option, if an online user selects the Pay In 4 option (from the Paypal site), the DoExpressCheckoutPayment call returns FAILURE ($ack='FAILURE') without any error message.

 

Here is the PHP code:

 

$nvpstr = '&TOKEN=' . $token . '&PAYERID=' . $payerID . '&PAYMENTACTION=' . $paymentType . '&AMT=' . $paymentAmount . '&CURRENCYCODE=' . $currCodeType . '&IPADDRESS=' . $serverName;
$nvpstr = $nvpstr . "&NOTIFYURL=" . $notifyURL;

$resArray = hash_call("DoExpressCheckoutPayment", $nvpstr);
$ack = strtoupper($resArray["ACK"]);


This error only occurs where the Pay In 4 option is selected (i.e. it works fine if the user pays the full amount).

 

We would like to know if there is any NVP filed for the Pay Later option and/or how to integrate it into our system.

 

Please give us some suggestions regarding how to solve this problem. Any help would be appreciated, thank you.

 

June

 

Login to Me Too
3 REPLIES 3

MTS_Chiranjeevi
Moderator
Moderator

Good day @juney168,

 

Thank you for posting to the PayPal community.

 

Pay Later/ Pay in 4 feature is included with the standard PayPal Checkout(REST API integration). 

 

We recommend merchants to integrate our latest PayPal Checkout (Smart button) product.

Please follow the below steps via your PayPal account to create/generate PayPal Smart button code.

Login PayPal.com >> click on "settings icon" >> go to "Account settings" >> Website payments >> PayPal buttons >> select "Smart Buttons" button type >> fill all the required details >> copy & paste the button code on your website with the help of your website developer. 

(Or)

Login PayPal.com >> go to direct link "https://www.paypal.com/buttons/" >> follow the above steps

 

Guide link : https://developer.paypal.com/docs/checkout/standard/ 

I would suggest to please contact your website developer or the support of your third party platform(eCommerce) who can above help you add the above Smart button code on your website. 

 

Note : Pay Later in Australia includes Pay in 4, which eligible AU buyers can use to pay in four interest-free payments for purchases of $30 to $2,000 AUD. The first payment is due at the time of the transaction, and subsequent payments are due every two weeks.

 

https://developer.paypal.com/docs/checkout/pay-later/au/#link-paylaterbutton 

 

To add Pay Later button : Render the Pay Later button in a one-time payment integration by passing enable-funding=paylater in the PayPal JavaScript SDK. For details, see enable funding.

 

https://developer.paypal.com/docs/checkout/pay-later/au/#link-howdoyouwanttointegrate 

 

Add Pay Later offers through an e-commerce platform  : https://developer.paypal.com/docs/checkout/pay-later/au/commerce-platforms/ 

 

If your still facing any issues, please create a MTS ticket via -  https://www.paypal-support.com/s/?language=en_US with the detail information and error details.

 

Sincerely,

Chiranjeevi

PayPal/Braintree MTS

 

If this post or any other was helpful, please enrich the community by giving kudos or accepting it as a solution.

Login to Me Too

juney168
Contributor
Contributor

Hi @MTS_Chiranjeevi,

 

Thank you for your reply!

 

Just wanted to ask though, does that mean we must change to the REST API integration to solve our problem. As in, can we continue using the NVP API integration?

 

Our system is for small business users and all of them have a different PayPal business account each. Since we don't have access to their accounts, it would be exceedingly difficult for us to change from the Classic API integration to the REST API integration in a short time.

 

If for example we kept using the NVP API integration, would it be possible to stop an online user from using the Pay Later/Pay in 4 option (i.e. not showing the option on the Paypal site) programmatically?

 

If not, is there any way we can distinguish the DoExpressCheckoutPayment call's return of FAILURE due to Pay Later/Pay in 4 from other failures? As I mentioned in my last post, the DoExpressCheckoutPayment call gives no error message when it returns FAILURE (ACK='FAILURE').

 

We would like to know why we didn't receive an error message such as the failure caused by a retricted account:

TIMESTAMP: 2022-12-11T04:15:29Z
CORRELATIONID: 7949dafa36340
ACK: Failure
L_ERRORCODE0: 10002
L_SHORTMESSAGE0: Restricted account
L_LONGMESSAGE0: Account is restricted
L_SEVERITYCODE0: Error

 

Looking forward to hearing from you.

Regards,
June

Login to Me Too

MTS_Chiranjeevi
Moderator
Moderator

@juney168 Yes, Pay Later/ Pay in 4 feature is included with the standard PayPal Checkout(REST API integration). Please follow the steps provided in my previous email response. 

Login to Me Too

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.