oxid-professional-services / paypalplus-module
PayPal Plus payments module for OXID eShop
Installs: 11 216
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 15
Forks: 3
Open Issues: 3
Type:oxideshop-module
Requires
- php: >=5.6
- ext-curl: *
- ext-iconv: *
- ext-json: *
- ext-openssl: *
- lib-curl: >=7.26.0
- lib-openssl: >=1.0.1
- oxid-esales/oxideshop-ce: ^v6
- paypal/rest-api-sdk-php: ^v1.13.0
This package is auto-updated.
Last update: 2024-09-24 20:50:20 UTC
README
PayPal Plus module for OXID eShop.
Installation
Use Composer to add the module to your project
composer require oxid-professional-services/paypalplus-module
- Activate PayPal Plus module in administration back end: under Extensions -> Modules -> PayPal Plus, tab Overview press Activate button
- Enter PayPal API Client ID and Secret key and adjust other settings in Extensions -> Modules -> PayPal Plus, tab Settings
- Optionally configure eShop shipping methods and shipping cost rules
Versions
- Module v3.0.*
- PayPal-PHP-SDK v1.13.0
Supported OXID eShop version
- 6.0.*
- 6.1.*
- 6.2.*
For developers
- PayPal plus payment acts as payment container. See
views/blocks/oxpspaypalplus_payment_select_payment.tpl
. At the moment we exclude even "empty/free" payment. - It is very important to validate html elements/hooks on template. Otherwise payment fails to render.
Validation is done on
out/src/js/oxpspaypalpluswall.js:validateDomElements
. Some tags must be parent to the other. - Error variable placeholder
%s
is meant for use in both, PHP and JS. - There are multiple validations on order, JS, payment levels. As a result some errors are logged, some are meant for display and some are both logged and displayed on the front end.
- PayPalPlus payment handler validates phone number to meet E.123 standard. See
\oxpsPayPalPlusPaymentHandler::validateUserData()
. And it is active when attempting to pay by PayPal Plus methods. - JS payment validation extracts labels and description from html, because this is only way to take changes made by other modules.
- Payments not registered on PayPal Plus should be visible on payment step. Because there are payments developed by partners.
- After developing run PHP and JS test. See
modules/oxps/paypalplus/tests/unit
andmodules/oxps/paypalplus/tests/functional/README.md
. - It is better to have PayPal test accounts (private and business) registered in Germany. E.g. accounts with currency USD ends up "pending" payments on admin panel. As a result refund functionality can not be used.
- Credit cards for testing purposes
https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.html
Link
Extend
- language_main -- save
- order_list -- render -- _prepareWhereQuery -- _buildSelectString -- _prepareOrderByQuery
- basket -- render
- order -- init
- payment -- render -- validatePayment -- getPaymentErrorText
- oxviewconfig
- oxAddress -- save
- oxBasket -- afterUpdate -- getPaymentCost -- getTotalDiscountSum -- getTsProductId
- oxOrder -- save -- delete
- oxPaymentGateway -- executePayment
- oxUser -- save
- thankyou -- init -- render