Our site www.viart.com site is operated by latest Viart Shop 5 with default Clear design
ViArt User's Guide (Version 3.6)
Please, see the list of all new features and fixed bugs that were made to all ViArt PHP Shopping Cart releases from version 2.1.1 up to the latest 3.5 version.
14.2.1. Paypal Website Payments Standard
14.2.1. Paypal Website Payments Standard
Prev Index Next

This tutorial covers the following sections:

Back to top


PayPal Website Payments Standard method is the fastest and easiest way to accept payments from PayPal users. It allows you to accept online payments from your customers with or without PayPal accounts. The method accepts all basic credit/debit cards (Visa, MasterCard, American Express, and Discover) as well as eChecks, bank transfers, and PayPal accounts.

Important: Personal accounts can't be used to accept credit card payments from customers, hence you should have Premier or Business account as a merchant. The difference between Premier and Business is that the Business Paypal account enables you to set up an account under your company name. Both types of accounts will allow you to accept credit card payments from your customers.

Back to top

Obtaining an account with Paypal

To open a business PayPal account, please do the following steps:

1. Go to PayPal account signup page

2. Login to your account (if you already have one) or Sign Up for a new account (on the left). Please ensure that you set up an account for Business Owners.

3. Once you registered an account and are logged in, go to Profile and click 'Payment Receiving Preferences' (located in the right column).

4. Select whether you wish to accept just your default currency, or having other currencies converted.

5. Make other selections(preferences) and once done click to save your settings.

6. Further go to Profile > Instant Payment Notification Preferences.

Important: An IPN (Instant Payment Notification) is PayPal's message service that sends a notification when a transaction is affected and is to be configured within your Paypal account. IPN is an optional feature.

7. Enable Instant Payment Notification and set 'Notification URL' as 'http://www.your_site.com/payments/paypal_ipn.php' (where your_site.com equals your actual site url).

Once IPN is integrated, sellers can automate their back office so they don’t have to wait for payments to come in to trigger order fulfillment.

8. Save the settings.

9. Next is to obtain a PDT identity token.

Important: PDT stands for Payment Data Transfer. Payment Data Transfer provides merchants with the ability to add additional security to a transaction by having your web server send a behind-the-scenes query to PayPal to ensure that the data received from an "Auto Return" did indeed come from PayPal. PDT requires CURL and OpenSSL. PDT is an optional feature.

10. Go to Profile > Website Payment Preferences in the Seller Preferences column.

11. Turn on Auto Return so that your customers may be returned to your website once they have completed their PayPal payments. Auto Return is an optional feature.

12. For the Return URL, set the URL: 'http://www.your_site_com/order_final.php' (where your_site.com equals your actual site url). This will bring your customers back to the final order page where they are confirmed that their order has been successfully completed and paid for.

13. Set Payment Data Transfer to 'On' and click 'Save'.

14. Click Website Payment Preferences in the Seller Preferences column. Scroll down to the Payment Data Transfer section of the page to view your PDT identity token (in the right), copy it and save it. You will later have to paste this token as 'at' parameter value in your ViArt Shop Admin console.

15. Under "Encrypted Website Payments", set the "Block Non-encrypted Website Payment" to 'Off'. As PayPal will process all your Credit Card payments, you don't require encrypted payments.

16. Set "PayPal Account Optional" to 'Off'. This will ensure that your customers are returned to your website and that you are receiving notifications regarding order details.

17. Set "Contact Telephone Number" to 'Off' as your customers provides you with a contact phone number when they set up an account with your store.

Back to top

Setting Up Paypal Website Payments Standard in ViArt Shop

1. Login to your ViArt Shop Admin console.

2. Navigate to Administration > Orders > Payment Systems > PayPal Website Payments Standard and click 'Edit System'.

3. Basic parameters are set in the Admin panel by default. Therefore, enable an option 'Is Active' and scroll down the page to specify the required parameter values:


business - is your business paypal email address.

at - is your PDT identity token (should be obtained from your PayPal account).

4. If you don't want to pass data to PayPal in multicurrencies please specify a preferred currency code like 'USD' for the currency_code parameter.

5. Click 'Update' to save the changes.

6. Once all the steps are done you can start testing Paypal Website Payments Standard in your shop.

Testing on the Sandbox

If you are new to accepting payments through PayPal, it is strongly recommended to switch to the "Sandbox" (test) module to place several test orders and see how it works.

To test with PayPal SandBox please do the following steps:

1. Create an additional sandbox account. Please, refer to this page and follow the steps described to open a test account

2. Login to your ViArt Shop Admin console.

3. Navigate to Administration > Orders > Payment Systems > PayPal Website Payments Standard and click 'Edit System'.

4. Change 'sandbox' parameter value to '1' and specify 'Payment URL' as https://www.sandbox.paypal.com/cgi-bin/webscr.

5. Make a test purchase.

6. Once testing with Sandbox environment is successfully completed return 'sandbox' value to '0' and specify production 'Payment URL': https://www.paypal.com/cgi-bin/webscr

Back to top

Optional parameters you may need

no_note: - prompts a customer to include a note with payment. Default or 0: customer is prompted to include a note. 1: customer is not prompted to include a note.

no_shipping: - prompts a customer for shipping address. Default or 0: customer is prompted to include a shipping address 1: customer is not asked for a shipping address. 2: customer must provide a shipping address.

address_overide: - 1: The address specified in pre-populated variables overrides user’s stored address. The customer is shown the passed-in address but cannot edit it. If the address is not valid (some required fields are missed, including country) or not included, no address will be shown.

Back to top

How Paypal Website Payments Standard works

1. A customer adds products to his basket and selects 'Paypal Website Payments Standard' as a preferred payment method.

2. He clicks 'Continue' and is redirected to Paypal site.

3. If he has a PayPal account, he logs into PayPal. If he does not have a PayPal account, he enters all his payment information on a web page protected by PayPal.

4. He reviews and completes the purchase on PayPal.

5. He returns to your website.

Back to top

Frequently asked questions

The basket is truncated when sending to Paypal site.

Presently, the basket is forwarded to Paypal with such limited text length. The limitations on the number of symbols are set by Paypal itself, so it is impossible to increase the length. However, we have plans to add changes so that items are sent separately in PayPal modules. It will help to avoid problems with truncation of the description. This change will be added to one of our future versions.

Back to top


Error: Can't obtain transaction token parameter

Solution: This error usually happens when customer clicks 'Cancel' button on PayPal site and he's redirected to "cancel_return" URL, during this process the "tx" parameter could get lost. So to help this situation your "cancel_return" should be set as following:


If set correct then on ./order_final.php there would be the following message instead:

An error:"Your transaction has been canceled" Back to top

Patches and updates

version 3.6

3-d secure upgrade option for Maestro Card Transactions

Prev Index Next