Skip to content

snandos/woocommerce-paypal-payments

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WooCommerce PayPal Payments

PayPal's latest complete payments processing solution. Accept PayPal, Pay Later, credit/debit cards, alternative digital wallets local payment types and bank accounts. Turn on only PayPal options or process a full suite of payment methods. Enable global transaction with extensive currency and country coverage.

Requirements

  • PHP >= 7.1
  • WordPress >=5.3
  • WooCommerce >=4.5

Development

  1. Clone repository
  2. $ cd woocommerce-paypal-payments
  3. $ composer install
  4. $ yarn run build:dev
  5. Change the PAYPAL_INTEGRATION_DATE constant to gmdate( 'Y-m-d' ) to run the latest PayPal JavaScript SDK

Unit tests and code style

  1. $ composer install
  2. $ ./vendor/bin/phpunit
  3. $ ./vendor/bin/phpcs
  4. $ ./vendor/bin/psalm

Docker

You can also use the Docker environment which includes WP, WC and all developments tools.

  1. Install Docker and Docker Compose.
  2. $ cp .env.example .env and edit the configuration in the .env file if needed.
  3. $ yarn run docker:build (or copy the commands from package.json if you do not have yarn).
  4. $ yarn run docker:install
  5. $ yarn run docker:start
  6. Add 127.0.0.1 wc-pp.myhost to your hosts file and open http://wc-pp.myhost (the default value of WP_DOMAIN in .env).

Tests and code style:

  • $ yarn run docker:test
  • $ yarn run docker:lint

After some changes in .env (such as PHP, WP versions) you may need to rebuild the Docker image:

  1. $ yarn run docker:destroy (all data will be lost)
  2. $ yarn run docker:build

See package.json for other useful commands.

Webhooks

For testing webhooks locally, follow these steps to set up ngrok:

  1. Install ngrok.

  2. Run

ngrok http -host-header=rewrite wc-pp.myhost
  1. In your environment variables (accessible to the web server), add NGROK_HOST with the host that you got from ngrok, like abcd1234.ngrok.io.

    • For the Docker environment: set NGROK_HOST in the .env file and restart the web server. (yarn run docker:stop && yarn run docker:start)
  2. Complete onboarding or resubscribe webhooks on the Webhooks Status page.

Currently, ngrok is used only for the webhook listening URL. The URLs displayed on the WordPress pages, used in redirects, etc. will still remain local.

Building a release package

If you want to build a release package (that can be used for deploying a new version on wordpress.org or manual installation on a WP website via ZIP uploading), follow these steps:

  1. Clone the repository and cd into it.
  2. Make sure you have the version in the plugin root file updated.
  3. Update the PayPal JavaScript SDK integration date by using the current date for the PAYPAL_INTEGRATION_DATE constant.
  4. The following command should get you a ZIP file ready to be used on a WordPress site:
$ yarn run build

License

GPL-2.0 License

Contributing

All feedback / bug reports / pull requests are welcome.

Packages

No packages published

Languages

  • PHP 92.2%
  • JavaScript 6.9%
  • Other 0.9%