PaypalPro
Interchange's support for the PayPal "Pro"
Payment Services Provider.
Synopsis
or
|
[charge route="paypalpro" param1="value1" param2="value2"]
|
Prerequisites
Description
The Vend::Payment::PaypalPro module implements the
paypalpro() subroutine for use with Interchange.
It is compatible on a call level with the other Interchange payment modules.
In theory (and even usually in practise) you could switch from another payment
module to PaypalPro with a few configuration file changes.
To enable this module, place this directive in your "interchange.cfg" file:
|
Require module Vend::Payment::PaypalPro
|
This must be in interchange.cfg or a file included from it.
Make sure CreditCardAuto is off, which is the default in
the Standard ecommerce demo.
The "mode" can be named anything, but the "gateway" parameter
must be set to "paypalpro".
To make it the default payment gateway for all credit card transactions in a
specific website, you can set the following in catalog.cfg:
|
Variable MV_PAYMENT_MODE paypalpro
|
It uses several of the standard settings from Interchange payment.
Any time we speak of a setting, it is obtained either first from the tag/call
options, then from an Interchange order Route named after
the mode, then finally a default global payment Variable.
For example, the id parameter would be specified by:
|
[charge route=paypalpro user=username]
|
or
|
Route paypalpro user username
|
or
|
Variable MV_PAYMENT_ID username
|
Settings
| Name
|
Description
|
| user
|
Your PayPal Payments API username. |
| secret
|
Your password for the PayPal Payments API. |
| keyfile
|
The name of a file that contains your merchant security certificate.
This file should contain both the RSA private key and the certificate,
otherwise you get an error along the lines of
"Unable to open/parse client certificate file." |
| sandbox
|
If true, SOAP service calls are made to "api.sandbox.paypal.com" (test/sandbox mode) instead of "api.paypal.com" (live mode). |
Troubleshooting
If nothing works:
Make sure you Required the module in
interchange.cfg:
|
Require module Vend::Payment::PaypalPro
|
Make sure that SOAP::Lite is installed and working.
You can test to see whether your Perl thinks it is, like this:
|
perl -MSOAP::Lite -le 'print "Available"'
|
If the above prints "Available", and returns to the shell prompt,
then you should be OK (presuming it is in working order otherwise).
- Check the local and global error log files.
- Make sure you set your payment parameters properly.
Try an order, then put this code in a page:
<pre>
[calcn]
my $string = $Tag->uneval({ ref => $Session->{payment_result} });
$string =~ s/{/{\n/;
$string =~ s/,/,\n/g;
return $string;
[/calcn]
</pre>
|
That should show what happened.
- If all else fails, consultants are available to help with integration for a fee.
Notes
There is actually nothing in Vend::Payment::PaypalPro;
This module changes its package name to Vend::Payment and
places things there.
Authors