pkerrigan / paypal-ewp
A PHP library for generating encrypted PayPal buttons (EWP)
Installs: 2 543
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- php: >=7.0
- ext-openssl: *
Requires (Dev)
- phpunit/phpunit: ^6.4
This package is auto-updated.
Last update: 2024-11-25 14:24:33 UTC
README
paypal-ewp
A PHP library for generating encrypted PayPal buttons (EWP)
Prerequisites
To use this library you should first follow the instructions given by PayPal on generating a merchant certificate and key pair and obtaining PayPal's public certificate.
You'll need the following data to generate a button:
- Your Certificate ID issued by PayPal after you uploaded your certificate
- The path to your certificate in PEM format on disk
- The path to your private key in PEM format on disk
- The passphrase for your private key (if you set one)
- The path to PayPal's public certificate in PEM format on disk
- The HTML Variables you wish to add to your button
Installation
The recommended way to install this library is via Composer:
composer require pkerrigan/paypal-ewp ^1
Usage
Below is a complete example which generates an encrypted button for submitting a shopping cart:
<?php use Pkerrigan\PaypalEwp\PaypalCertificate; use Pkerrigan\PaypalEwp\MerchantCertificate; use Pkerrigan\PaypalEwp\ButtonGenerator; $buttonGenerator = new ButtonGenerator(); $paypalCert = new PaypalCertificate('/path/to/certs/paypal-cert.pem'); $merchantCert = new MerchantCertificate( 'MY_CERTIFICATE_ID', '/path/to/certs/merchant-cert.pem', '/path/to/certs/merchant-key.pem', 'MY_KEY_PASSPHRASE' //This argument can be omitted if you have no passphrase ); $buttonVariables = [ 'cmd' => '_cart', 'upload' => '1', 'amount_1' => '1.00', 'item_name_1' => 'Test Item', 'business' => 'test@example.org', 'currency_code' => 'GBP' ]; $encryptedCart = $buttonGenerator->encrypt($paypalCert, $merchantCert, $buttonVariables); ?> <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="encrypted" value="<?= $encryptedCart; ?>"> <input type="submit" value="Proceed to checkout"> </form>