{"_id":"593fe2272418a7003933a381","category":{"_id":"593fe2262418a7003933a365","version":"593fe2262418a7003933a35e","project":"57336fd5a6a9c40e00e13a0b","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-11-03T20:45:01.593Z","from_sync":false,"order":6,"slug":"topics","title":"Guides"},"parentDoc":null,"user":"560d5913af97231900938124","project":"57336fd5a6a9c40e00e13a0b","version":{"_id":"593fe2262418a7003933a35e","project":"57336fd5a6a9c40e00e13a0b","__v":1,"createdAt":"2017-06-13T13:01:26.536Z","releaseDate":"2017-06-13T13:01:26.536Z","categories":["593fe2262418a7003933a35f","593fe2262418a7003933a360","593fe2262418a7003933a361","593fe2262418a7003933a362","593fe2262418a7003933a363","593fe2262418a7003933a364","593fe2262418a7003933a365"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"3.21.2","version_clean":"8976.0.0-Basics","version":"8976-Basics"},"__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-01-07T20:13:20.427Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":10,"body":"Many merchants wish to offer shoppers the ability to pay seamlessly via PayPal, one of the most common payment methods. BlueSnap makes it easy to accept PayPal by connecting your PayPal and BlueSnap accounts, and then using the BlueSnap API to process PayPal payments.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"To offer PayPal as a payment option for your shoppers, you must have a PayPal Business or Premier account. If you do not yet have a PayPal account, you can sign up for one on the PayPal website.\"\n}\n[/block]\nSee:\n  * [Benefits](#section-benefits)\n  * [The shopper experience with PayPal](#section-the-shopper-experience-with-paypal)\n  * [Implementing PayPal via the BlueSnap APIs](#section-implementing-paypal-via-the-bluesnap-apis)\n\n#Benefits\nThese are some of the great features available when you offer PayPal:\n\n###Currencies\nYou can accept payments in several currencies by syncing your PayPal currency balances. We currently support the following currencies for PayPal: AUD, CAD, CHF, DKK, EUR, GBP, HKD, HUF, ILS, MXN, NOK, NZD, PHP, PLN, RUB, SEK, SGD, THB, TWD, and USD.\n\n###Payout to your PayPal account\nPayPal funds will be directly transferred to your PayPal Account. To avoid any double charging, BlueSnap will reduce from its own transaction charges, the standard transaction fees charged on your sales by PayPal.\n\n###Shopper info saved and shipping info automatically updated\nShoppers already keep their details updated in PayPal, so you can automatically keep your own shopper records up-to-date by pulling the shipping info right from PayPal.\n\n#The shopper experience with PayPal\nThere are three types of PayPal checkout flows available via the BlueSnap APIs: \n  * [Standard redirect - One step flow](#section-standard-redirect-one-step-flow)\n  * [Two step flow to include taxes and fees](#section-two-step-flow-to-include-taxes-and-fees)\n  * [Three step flow with delayed capture](#section-three-step-flow-with-delayed-capture)\n\nAll checkout flows are compatible with PayPal's in-context-checkout which displays PayPal screen as a popup within your site. See [What is In-Context checkout](#section-what-is-in-context-checkout-) \n\n##Standard redirect - One step flow\nThis in the standard Express checkout flow that directs the shopper to a PayPal page to make the purchase, and then redirects the shopper back to your site (to the `pp-return-url` you specify) once they have completed the purchase. With the standard checkout, this is what the typical checkout flow will look like:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/H7XS5ydvQKWC1EOh3sdc_snappa-1453899822.png\",\n        \"snappa-1453899822.png\",\n        \"996\",\n        \"280\",\n        \"#064987\",\n        \"\"\n      ],\n      \"sizing\": \"full\"\n    }\n  ]\n}\n[/block]\n##Two step flow to include taxes and fees\nBased on your business model, the standard one-step flow may not be ideal for you.  For instance, if you need to apply additional charges such as TAX/VAT or shipping fees according to your shopper’s location, and you prefer to remove friction at checkout by not asking your shopper for their address, as you can retrieve it from PayPal as part of their two-step flow.\n\nThis checkout flow allows you to direct your shopper to PayPal in order to approve the purchase, retrieve their address, calculate and apply additional charges, and display the new final price to the shopper. Once the shopper approves the final price, the transaction will take place for this final amount. \n\nWe are calling this the \"two-step\" checkout flow because you will need to complete these transactions via two API calls to BlueSnap, instead of using a single call for the one-step checkout flow.\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/7316f79-PayPal_two_step_v3.png\",\n        \"PayPal two step v3.png\",\n        760,\n        166,\n        \"#888c8c\"\n      ]\n    }\n  ]\n}\n[/block]\n##Three step flow with delayed capture\nFrom a shopper’s perspective, the three-step checkout flow is identical to the previous option as the only difference is on the last step.  Once the shopper has confirmed the final amount, the merchant leaves the transaction as an approved Authorization, until such time when the product(s) are ready to be shipped/delivered.\n\nThis could be a convenient flow for merchants selling physical goods when the goods being sold are not in stock when the transaction takes place. You direct your shopper through the purchase flow, allow them to approve the purchase and final amount, and you can \"capture\" the transaction once you are ready to deliver the goods.\n\nWe are calling this the \"three-step\" checkout flow because you will need to complete these transactions via three API calls to BlueSnap, instead of using a single call for the one-step checkout flow.\n\n\n###What is In-Context checkout?\nThe In-Context checkout flow keeps the shopper in the context of your site while they complete the PayPal checkout. In the web solution, the PayPal page opens as a popup over the your site, while in the mobile solution it is displayed as a mobile-optimized full-page checkout window, as shown below.\n\n*Web*\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/BWzNXCRTQaYJat5xucpb_Paypal-incontext-web.png\",\n        \"Paypal-incontext-web.png\",\n        \"800\",\n        \"128\",\n        \"#0a95ce\",\n        \"\"\n      ],\n      \"sizing\": \"full\"\n    }\n  ]\n}\n[/block]\n*Mobile*\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/dIw8qmy4QaCdebDXi4fK_Paypal-incontext-mobile.png\",\n        \"Paypal-incontext-mobile.png\",\n        \"800\",\n        \"284\",\n        \"#0ca1e1\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nIn-Context checkout also has the benefit of shortening the checkout experience and providing a simplified design that is consistent across devices, as well as helping to improve conversion rates by making it easier for the shopper to complete checkout.\n\nAll out-of-box features for Express checkout are also supported for In-Context Checkout.\n\nPlease note that PayPal support for In-Context checkout has limited availability. For example, it is available for a limited set of merchant and shopper countries, and for specific currencies only. It is also not available for recurring transactions. For complete details, see the [PayPal Eligibility Review](https://developer.paypal.com/docs/classic/express-checkout/in-context#eligibility-review).\n\n###Enabling In-Context checkout\nFirst, complete the [setup steps described by PayPal in Enabling the In-Context Checkout Experience](https://developer.paypal.com/docs/classic/express-checkout/in-context/integration/).\n\nThen you can enable In-Context checkout via the BlueSnap APIs as follows:\n  * **Payment API**: Set the `inContext` property in the [paypalTransaction](/v2.1/docs/paypal-transaction) resource to **true**.\n  * **Extended Payment API**: Set the `pp-in-context` property in the [paypal](/v3.0/docs/paypal) resource to **true**.\n\nOnce In-Context checkout is enabled, the URL to the PayPal page will look like this:\n`https://www.sandbox.paypal.com/checkoutnow?token=XXX`\n\nCompared to the URL for an Express checkout flow, which looks like this:\n`https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_express-checkout&token=XXX`\n\n#Implementing PayPal via the BlueSnap APIs\nTo use PayPal with BlueSnap, begin by connecting your PayPal and BlueSnap accounts. See [Connecting PayPal and BlueSnap](http://support.bluesnap.com/docs/connecting-paypal-and-bluesnap).\n\nOnce you have connected your PayPal and BlueSnap accounts, you can begin offering PayPal as a payment method via either of the BlueSnap APIs. For details, see:\n  * [Payment API PayPal Guide](/v2.1/docs/paypal)\n  * [Extended API PayPal Guide](/v3.0/docs/paypal-guide)","excerpt":"","slug":"paypal","type":"basic","title":"PayPal"}

Many merchants wish to offer shoppers the ability to pay seamlessly via PayPal, one of the most common payment methods. BlueSnap makes it easy to accept PayPal by connecting your PayPal and BlueSnap accounts, and then using the BlueSnap API to process PayPal payments.

To offer PayPal as a payment option for your shoppers, you must have a PayPal Business or Premier account. If you do not yet have a PayPal account, you can sign up for one on the PayPal website.

See:

Benefits

These are some of the great features available when you offer PayPal:

Currencies

You can accept payments in several currencies by syncing your PayPal currency balances. We currently support the following currencies for PayPal: AUD, CAD, CHF, DKK, EUR, GBP, HKD, HUF, ILS, MXN, NOK, NZD, PHP, PLN, RUB, SEK, SGD, THB, TWD, and USD.

Payout to your PayPal account

PayPal funds will be directly transferred to your PayPal Account. To avoid any double charging, BlueSnap will reduce from its own transaction charges, the standard transaction fees charged on your sales by PayPal.

Shopper info saved and shipping info automatically updated

Shoppers already keep their details updated in PayPal, so you can automatically keep your own shopper records up-to-date by pulling the shipping info right from PayPal.

The shopper experience with PayPal

There are three types of PayPal checkout flows available via the BlueSnap APIs:

All checkout flows are compatible with PayPal's in-context-checkout which displays PayPal screen as a popup within your site. See What is In-Context checkout

Standard redirect - One step flow

This in the standard Express checkout flow that directs the shopper to a PayPal page to make the purchase, and then redirects the shopper back to your site (to the pp-return-url you specify) once they have completed the purchase. With the standard checkout, this is what the typical checkout flow will look like:

Two step flow to include taxes and fees

Based on your business model, the standard one-step flow may not be ideal for you. For instance, if you need to apply additional charges such as TAX/VAT or shipping fees according to your shopper’s location, and you prefer to remove friction at checkout by not asking your shopper for their address, as you can retrieve it from PayPal as part of their two-step flow.

This checkout flow allows you to direct your shopper to PayPal in order to approve the purchase, retrieve their address, calculate and apply additional charges, and display the new final price to the shopper. Once the shopper approves the final price, the transaction will take place for this final amount.

We are calling this the "two-step" checkout flow because you will need to complete these transactions via two API calls to BlueSnap, instead of using a single call for the one-step checkout flow.

Three step flow with delayed capture

From a shopper’s perspective, the three-step checkout flow is identical to the previous option as the only difference is on the last step. Once the shopper has confirmed the final amount, the merchant leaves the transaction as an approved Authorization, until such time when the product(s) are ready to be shipped/delivered.

This could be a convenient flow for merchants selling physical goods when the goods being sold are not in stock when the transaction takes place. You direct your shopper through the purchase flow, allow them to approve the purchase and final amount, and you can "capture" the transaction once you are ready to deliver the goods.

We are calling this the "three-step" checkout flow because you will need to complete these transactions via three API calls to BlueSnap, instead of using a single call for the one-step checkout flow.

What is In-Context checkout?

The In-Context checkout flow keeps the shopper in the context of your site while they complete the PayPal checkout. In the web solution, the PayPal page opens as a popup over the your site, while in the mobile solution it is displayed as a mobile-optimized full-page checkout window, as shown below.

Web

Mobile

In-Context checkout also has the benefit of shortening the checkout experience and providing a simplified design that is consistent across devices, as well as helping to improve conversion rates by making it easier for the shopper to complete checkout.

All out-of-box features for Express checkout are also supported for In-Context Checkout.

Please note that PayPal support for In-Context checkout has limited availability. For example, it is available for a limited set of merchant and shopper countries, and for specific currencies only. It is also not available for recurring transactions. For complete details, see the PayPal Eligibility Review.

Enabling In-Context checkout

First, complete the setup steps described by PayPal in Enabling the In-Context Checkout Experience.

Then you can enable In-Context checkout via the BlueSnap APIs as follows:

  • Payment API: Set the inContext property in the paypalTransaction resource to true.
  • Extended Payment API: Set the pp-in-context property in the paypal resource to true.

Once In-Context checkout is enabled, the URL to the PayPal page will look like this:
https://www.sandbox.paypal.com/checkoutnow?token=XXX

Compared to the URL for an Express checkout flow, which looks like this:
https://www.sandbox.paypal.com/us/cgi-bin/webscr?cmd=_express-checkout&token=XXX

Implementing PayPal via the BlueSnap APIs

To use PayPal with BlueSnap, begin by connecting your PayPal and BlueSnap accounts. See Connecting PayPal and BlueSnap.

Once you have connected your PayPal and BlueSnap accounts, you can begin offering PayPal as a payment method via either of the BlueSnap APIs. For details, see: