Using PayPal Website Payments Pro

PayPal Website Payments Pro

PayPal Website Payments Pro also allows you to charge credit cards right on your site using their DirectPay API calls. An SSL certificate is absolutely required to use DirectPay and there is also a charge to use PayPal Pro, $30/month as of 2008-07-24. Although the DirectPay API allows you to charge the card without the user leaving your site, to use DirectPay, you are also required to support PayPal ExpressCheckout (mojoPortal content management system implements this). PayPal Express Checkout is a convenience for people who have a PayPal account that they want to pay with instead of entering a credit card on your site. The customer is redirected to PayPal where they do an initial authorization and are passed back to your site for final payment. This saves the user some time because they don't have to enter their shipping/billing info on your site as PayPal passes that data back to us. On our final checkout page its ok to add shipping or tax that we calculate from the shipping address and when the user clicks the final payment button we submit the adjusted amount back to PayPal.

This setting determines whether to use the test sandbox server or the production server:
<add key="Site1-PaymentGatewayUseTestMode" value="false" />

Note that we get different credentials for the sandbox and production environments.

<add key="Site1-PayPalSandboxAPIUsername" value="" />
<add key="Site1-PayPalSandboxAPIPassword" value="" />
<add key="Site1-PayPalSandboxAPISignature" value="" />

<add key="Site1-PayPalProductionAPIUsername" value="" />
<add key="Site1-PayPalProductionAPIPassword" value="" />
<add key="Site1-PayPalProductionAPISignature" value="" />

Note that all the settings are prefixed with Site1-
In most cases this will be correct for a single site installation because the first site will typically have SiteID = 1, however you may want to verify your  SiteID by looking in the mp_Sites table. If you SiteID is 2 then your prefix will be Site2- and so on depending on your SiteID.