Skip to content

ulrich-berkmueller/paypalplus-module

This branch is up to date with OXIDprojects/paypalplus-module:master.

Folders and files

NameName
Last commit message
Last commit date
Jan 8, 2019
Aug 5, 2020
Jun 22, 2021
Mar 26, 2020
Jun 24, 2021
Jun 24, 2021
Jan 8, 2019
Jun 24, 2021
Apr 9, 2020
Jun 17, 2020
Jan 8, 2019
Jun 24, 2021

Repository files navigation

PayPal Plus payments module for OXID eShop

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 and modules/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

https://www.paypal.com

Mail

[email protected]

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 86.5%
  • JavaScript 7.8%
  • Smarty 5.2%
  • CSS 0.5%