Difference between revisions of "Google Pay"

From Barion Documentation
Jump to navigation Jump to search
(Implementing the Barion API call)
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{PageTitle|title=Google Pay integration}}
 
{{PageTitle|title=Google Pay integration}}
  
{{draft|text=TODO intro}}
+
{{IncompletePage}}
  
Google Pay™ is a ...
+
Google Pay™ is a payment option for the customer. Google securely stores the customer's card information and hands it over to the merchant for processing. The process ensures that the card information stays secure and encrypted, the merchant does not know the details of the card.
 +
 
 +
{{NotificationBox|title=NOTE|text=We currently only support Google Pay for the web, android support is coming soon.|color=#1993c7}}
 +
 
 +
= Payment Process =
 +
This picture describes the payment process:
 +
 
 +
[[File:Googlepay.png]]
 +
 
 +
# The customer clicks the Google Pay button. A window will pop up where the customer can choose a previously saved card to charge or even provide a new one.
 +
# The JS code receives the encrypted card information.
 +
# The JS code send the encrypted information to the merchant's server side
 +
# The merchant's server side gathers all the information to start a payment and calls the Barion API
 +
# The Barion API handles the request, decrypts the packages and charges the card. The result of the payment is sent back to the caller.
 +
# The merchant's server communicates the result to the client side and the webshop renders the result of the payment.
  
 
= Integration =
 
= Integration =
 +
 +
{{NotificationBox|title=IMPORTANT|text=To integrate this feature you have to develop the integration yourself! You need to understand Javascript code and is is also required to modify your webshop's server code!|color=#FF7A3D}}
 +
 
These are the steps that you have to complete to use Google Pay on your website:
 
These are the steps that you have to complete to use Google Pay on your website:
  
# Register a wallet in Barion and create a shop
+
# [[#Creating_a_shop_in_Barion | Register a wallet in Barion and create a shop]]
# Implement the Google Pay button on your webshop's client side
+
# [[#Implementing_the_Google_Pay_button|Implement the Google Pay button on your webshop's client side]]
# Implement the Barion API call on your webshop's server side
+
# [[#Implementing_the_Barion_API_call|Implement the Barion API call on your webshop's server side]]
  
 
== Creating a shop in Barion ==
 
== Creating a shop in Barion ==
  
To be able to use Barion as a  
+
To be able to use Barion as a Google Pay token processor you have to register a wallet and open a shop for your webshop.
 +
* You must [[Creating_an_account|register a Barion wallet]] at the Barion website or in the Sandbox environment. Learn more about the Sandbox environment [[Sandbox|here]].
 +
* For this wallet you have to [[Creating_a_shop|create a shop]] which should be approved by Barion.
 +
* For every currency you plan to conduct payments in you have to make sure there is an account created in your Barion wallet. This means that if you plan to have USD payments then there should be an USD account created in your wallet.
 +
* To make sure every corner case scenario works for your webshop it is best to topup that account with a small amount (approx. 5-10EUR or your choice of currency around the same value).
 +
 
 +
== Implementing the Google Pay button ==
 +
 
 +
First read through the [https://developers.google.com/pay/api/web/overview introduction] in Google's documentation to see what you need to do to accept payments via Google Pay. If your system is ready, follow [[https://developers.google.com/pay/api/web/guides/tutorial this Google tutorial]] to create the JS code that renders the Google Pay button.
 +
 
 +
To identify the request towards Google you have to provide two IDs:
 +
* '''gateway id''', the ID that identifies the gateway you are using to process the cahrgess. This is <code>barion</code>
 +
* '''the gateway merchant id''', the ID that identifies your webshop. This can be copied from the detail page of your shop (in Barion) <br/> [[File:Merchantid.png]]
 +
 
 +
These IDs must be set in your JS code:
 +
 
 +
<pre>
 +
const tokenizationSpecification = {
 +
  type: 'PAYMENT_GATEWAY',
 +
  parameters: {
 +
    'gateway': 'barion',
 +
    'gatewayMerchantId': 'PUT HERE YOUR SHOPS MERCHANT ID FROM BARION'
 +
  }
 +
};
 +
</pre>
 +
 
 +
== Implementing the Barion API call ==
  
== Implement the Google Pay button ==
+
To be able to pass on the encrypted token to Barion you have to implement a Barion API call. For the technical communication guide please read the this: [[Calling_the_API|Calling the API]].
  
First read through the [https://developers.google.com/pay/api/web/overview introduction] in Google's documentation to see what you need to do to accept payments via Google Pay.
+
The endpoint you have to implement is the [[Payment-StartPaymentWithGoogleToken-v3|v3/payment/startpaymentwithgoogletoken]]. The data that you have to provide here hase three key elements:
 +
* all the information about the goods you want to sell
 +
* the e-mail address of the customer (provided by Google)
 +
* the Google Pay token (provided by Google)

Revision as of 14:16, 30 September 2020

WARNING
This article is incomplete. It may change significantly without any notice, so don't rely on any content you find here yet. Please check back later.

Google Pay™ is a payment option for the customer. Google securely stores the customer's card information and hands it over to the merchant for processing. The process ensures that the card information stays secure and encrypted, the merchant does not know the details of the card.

NOTE
We currently only support Google Pay for the web, android support is coming soon.

Payment Process

This picture describes the payment process:

Googlepay.png

  1. The customer clicks the Google Pay button. A window will pop up where the customer can choose a previously saved card to charge or even provide a new one.
  2. The JS code receives the encrypted card information.
  3. The JS code send the encrypted information to the merchant's server side
  4. The merchant's server side gathers all the information to start a payment and calls the Barion API
  5. The Barion API handles the request, decrypts the packages and charges the card. The result of the payment is sent back to the caller.
  6. The merchant's server communicates the result to the client side and the webshop renders the result of the payment.

Integration

IMPORTANT
To integrate this feature you have to develop the integration yourself! You need to understand Javascript code and is is also required to modify your webshop's server code!

These are the steps that you have to complete to use Google Pay on your website:

  1. Register a wallet in Barion and create a shop
  2. Implement the Google Pay button on your webshop's client side
  3. Implement the Barion API call on your webshop's server side

Creating a shop in Barion

To be able to use Barion as a Google Pay token processor you have to register a wallet and open a shop for your webshop.

  • You must register a Barion wallet at the Barion website or in the Sandbox environment. Learn more about the Sandbox environment here.
  • For this wallet you have to create a shop which should be approved by Barion.
  • For every currency you plan to conduct payments in you have to make sure there is an account created in your Barion wallet. This means that if you plan to have USD payments then there should be an USD account created in your wallet.
  • To make sure every corner case scenario works for your webshop it is best to topup that account with a small amount (approx. 5-10EUR or your choice of currency around the same value).

Implementing the Google Pay button

First read through the introduction in Google's documentation to see what you need to do to accept payments via Google Pay. If your system is ready, follow [this Google tutorial] to create the JS code that renders the Google Pay button.

To identify the request towards Google you have to provide two IDs:

  • gateway id, the ID that identifies the gateway you are using to process the cahrgess. This is barion
  • the gateway merchant id, the ID that identifies your webshop. This can be copied from the detail page of your shop (in Barion)
    Merchantid.png

These IDs must be set in your JS code:

const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    'gateway': 'barion',
    'gatewayMerchantId': 'PUT HERE YOUR SHOPS MERCHANT ID FROM BARION'
  }
};

Implementing the Barion API call

To be able to pass on the encrypted token to Barion you have to implement a Barion API call. For the technical communication guide please read the this: Calling the API.

The endpoint you have to implement is the v3/payment/startpaymentwithgoogletoken. The data that you have to provide here hase three key elements:

  • all the information about the goods you want to sell
  • the e-mail address of the customer (provided by Google)
  • the Google Pay token (provided by Google)