WooCommerce PSP Proxy Project

Job ID: 36866997

Budget: $1,500 – $3,000 USD

PSP-proxy Project Description Version 1.2

Description of Situation/Problem
• Situation: Contracts with a Payment Service Provider (PSP) for a single WooCommerce store.
• Requirement: Enable multiple WooCommerce child stores to utilize the same PSP gateway.
• The additional WooCommerce child stores run on different servers and IP addresses, so a
WordPress/WooCommerce Multisite installation is not an option.
• Essentially, we want the payment gateway of one WooCommerce website to act as a proxy for other
WooCommerce stores, allowing all payment options from the proxy store to be available on the other
stores.

Intended Solution
• Customer places an order in Store A (e.g., https://www.store-a.com).
• When the customer proceeds to checkout, they are presented with the payment opƟons from the
PSP proxy store (e.g., https://www.psp-proxy-store.com).
• However, the displayed URL remains https://www.store-a.com! (The customer should not be aware
that they are actually paying through www.psp-proxy-store.com. The "psp-proxy-store.com" should
also not be visible in the website's source code.)
• The PSP store contacts the payment service provider in the usual manner (via the payment gateway
plugin). During this process, the payment service provider only sees the IP address of the PSP proxy
store. Any referer URL should also originate from the PSP proxy store.
• The customer is redirected to the payment service provider's website as usual.
• Store A is not mentioned anywhere in the metadata. Therefore, the payment service provider does
not see store-a.com in its log files.
• After successful payment, the customer is redirected back to Store A, and the order is completed.
• If the payment is unsuccessful, the customer is returned to Store A.

Requirements
• The aim is to quickly deploy new WooCommerce stores (store-b.com, store-c.com.... store-z.com),
all of which utilize the PSP proxy store for payment.
• These new WooCommerce child stores run on different servers and IP addresses.
• The payment service provider may be changed in the future.
• If the payment service provider (and payment gateway) is changed to PSP proxy store, these
changes should also be available for store-a, store-b, store-c... store-z.com.
• The PSP proxy store URL may change in the future.

Implementation
• Implemented as a plugin to facilitate the easy deployment of new stores.
Authentication
It is important to prevent customers from abusing the proxy to place "free" orders. This can be
achieved, for example, by encrypting the communication between the child store and the PSP proxy
store using cURL, and/or using IP whitelisting, etc.
Compatibility
PHP is fully available on all child stores, with all versions and modules.
Installation/Configuration
• Installation is always performed by a professional system administrator.
• If adjustments are needed for the plugin's functionality (subdomains, IP addresses, PHP module
activation, iptables modifications, root-level proxy software installation, etc.), those can be arranged.
• Test server configurations can be provided.
Copyright/Intellectual Property of Solution (including plugins)
The solution becomes the exclusive property of the client.
It may not be sold separately.
It may not be disclosed publicly.
It may not be published as an open-source project.
It may not be given away.
Related categories: PHP WordPress Software Architecture HTML WooCommerce