PayPal RESTful API Payment Module
This Zen Cart payment module (paypalr) combines the processing for the PayPal Payments Pro (paypaldp) and PayPal Express Checkout (paypalwpp) payment modules that are currently built into Zen Cart distributions. Instead of using the older NVP (Name Value Pair) methods to communicate with PayPal, this payment module uses PayPal's now-current REST APIs and combines the two legacy methods into one.
Zen Cart Support Thread: https://www.zen-cart.com/forumdisplay.php?170-PayPal-RESTful-support
Zen Cart Plugin Download Link: https://www.zen-cart.com/downloads.php?do=file&id=2382
The module's operation has been validated …
- With PHP versions 7.4 through 8.3; PHP 7.3 will result in fatal PHP errors!
- In Zen Cart's 3-page checkout environment (v1.5.8a and v2.0.0)
- With One-Page Checkout (OPC), v2.4.6
- Using OPC's guest-checkout feature.
- Both requiring confirmation and not!
- With both the built-in responsive_classic and ZCA Bootstrap (v3.6.1) templates.
For additional information, refer to the payment-module's wiki articles.
Re: PayPal RESTful API Payment Module
:beta:Please note: The current release (v1.0.0-beta4) is a beta version! While I've tested it extensively, I suggest giving it a try on your test site using a PayPal sandbox account first.
Re: PayPal RESTful API Payment Module
Re: PayPal RESTful API Payment Module
Credit to @lat9 for undertaking this labor of love.
Updated integrations with UPS, FedEx, USPS and now PayPal will give Zen Cart - and your stores - a new lease on life.
1 Attachment(s)
Re: PayPal RESTful API Payment Module
Zen Cart 1.5.8
Bootstrap 3.5.0
OPC 2.4.5
PHP 7.4.33
Payment modules installed: freecharger, moneyorder & paypalr
Order total modules installed: ot_shipping, ot_coupon, ot_subtotal, ot_tax & ot_subtotal
Shipping modules installed: freeshipper & usps
Other modules installed: RCS, Sales Report w/ Graphs & IH5.
Guest checkout, first test after configuration, clicked PayPal button... no checkbox/radio button seems very confusing with the express button on the checkout/payment page. The button is clickable, but goes no where.
Attachment 20448
So I click it, then confirm order and it fails to the following page & error.
Page Not Found
https://domain.com/cart/ppr_webhook_...=B8KWPQT6BCWP8
The logs looks very much like it completed its work... last few lines
2024-01-15 13:36:02: (checkout_one_confirmation) ==> End confirmPaymentSource
2024-01-15 13:36:02: (checkout_one_confirmation) pre_confirmation_check, sending the payer-action off to PayPal.
Re: PayPal RESTful API Payment Module
You missed the root-directory file ppr_webhook_main.php; that's where the 404 came from. Zen Cart 1.5.8 or 1.5.8a?
Re: PayPal RESTful API Payment Module
Quote:
Originally Posted by
lat9
You missed the root-directory file ppr_webhook_main.php; that's where the 404 came from. Zen Cart 1.5.8 or 1.5.8a?
1.5.8
Sure did miss, thank a bunch!
~Melanie
Re: PayPal RESTful API Payment Module
There is still no radio/checkbox for the payment module. Noting it is the only payment displaying.
~Melanie
Re: PayPal RESTful API Payment Module
Quote:
Originally Posted by
mprough
1.5.8
Sure did miss, thank a bunch!
~Melanie
Please note that I've only tested with zc158a and the current zc200-alpha. I won't be supporting any other Zen Cart base for the usage.
Quote:
Originally Posted by
mprough
There is still no radio/checkbox for the payment module. Noting it is the only payment displaying.
~Melanie
There is no radio/checkbox for the module since you've only got that one payment module installed. I'll rethink the means of identifying which (PayPal vs CC) sub-option is selected, but IMO using a radio/checkbox for the sub-option is ugly.
Re: PayPal RESTful API Payment Module
Quote:
Originally Posted by
lat9
There is no radio/checkbox for the module since you've only got that one payment module installed. I'll rethink the means of identifying which (PayPal vs CC) sub-option is selected, but IMO using a radio/checkbox for the sub-option is ugly.
Maybe a selected state behavior, like a border? and the credit card one doesn't look at all like a selectable option, would need "buttonized" or something