Amazon Pay è un servizio che permette ai clienti di pagare beni e servizi utilizzando i metodi di pagamento già associati al loro account Amazon. Per eseguire il pagamento l’utente può usare qualsiasi metodo di pagamento registrato nel suo account Amazon.
Le operazioni necessarie per integrare Amazon Pay sono le seguenti:
Impostare l’account:
1. Accedere ad Amazon Pay Seller Central
2. Configurare Amazon Pay
3. Generare un token MWS
4. Usare le credenziali Amazon Pay per impostare l’account Fabrick, prima nel sandbox e poi in produzione
5. Integrare il bottone Amazon Pay nella lista dei metodi di pagamento disponibili sul sito.
Eseguire il pagamento:
1. Eseguire la crittografia dei dati
2. Rindirizzare l’utente sulla pagina di pagamento
3. Leggere il risultato e decodificare la risposta
4. Se si usa Amazon Pay con la modalità di selezione delll’indirizzo di spedizione, bisogna leggere l’indirizzo di fatturazione e spedizione chiamando CallReadTrxS2S.
Accedere a Amazon Pay Seller Central
Per utilizzare Amazon Pay bisogna registrarsi e seguire le istruzioni.
Configurare Amazon Pay
Per comunicare con il sandbox e l’ambiente di produzione di Fabrick Payment Orchestra
alla pagina https://sellercentral-europe.amazon.com/external-payments/amazon-pay/integration-central/lwa e seguire le istruzioni seguenti:
Selezionare "Integration - Integration Central" dalla barra di navigazione in alto a sinistra della Home Page di Seller Central
2. Dalla pagina Integration Central, scorrere fino alla sezione "Manage client ID/store ID(s)" e cliccare "View client ID/store ID(s)".
3. Se si possiede già un Client o Store ID non ancora registrato, rivedere la configurazione sul negozio selezionato. Per modificare le informazioni cliccare sul link "Edit" sul lato destro.
4. Cliccando sul bottone "Edit" si possono modificare tutti i dettagli del cliente.
5. Dallo step 3, cliccando sul link "Create new configuration" in alto, si può creare una nuova configurazione cliente fornendo tutte le informazioni rilevanti.
Allowed Javascript Origins
https://sandbox.gestpay.net/
Allowed Return URLs
https://sandbox.gestpay.net/pagam/AmazonPay.aspx
Allowed Return URLs Mobile
https://sandbox.gestpay.net/pagam/Mobile/AmazonPay.aspx
IPN Notification Urls
https://sandbox.gestpay.net/pagam/AmazonPayNotification.aspx
Allowed Javascript Origins
https://ecomm.sella.it/
Allowed Return URLs
https://ecomm.sella.it/pagam/AmazonPay.aspx
Allowed Return URLs Mobile
https://ecomm.sella.it/pagam/Mobile/AmazonPay.aspx
IPN Notification Urls
https://ecomm.sella.it/pagam/AmazonPayNotification.aspx
Generare Token MWS
È necessario il token MWS per delegare Fabrick Payment Orchestra a operare per conto del cliente.
Per generare il Token MWS:
Dalla dashboard dell’account venditore cliccare sul menu Settings e poi User Permissions.
In questa pagina si possono vedere tutti i permessi per gli sviluppatori MWS. Cliccare sul bottone Authorise a Developer per generarne uno nuovo:
Nella finestra seguente impostare questi dati:
Developer’s Name
Gestpay
Developer ID
5535-2867-1582
Una volta salvate le informazioni dello sviluppatore in Amazon si può vedere il token MWS nella tabella “Amazon MWS Developer Permissions” della pagina precedente (vedere secondo step).
Configurazione di Fabrick Payment Orchestra
Nel Back Office di Fabrick, inserire le credenziali di Amazon Pay ricevute quando si è effettuato l’accesso:
La casella Show Address Widget permette di selezionare l’indirizzo da Amazon Pay durante il pagamento, mostrando il widget. Questa impostazione può essere disattivata se l’esercente vende articoli che non possono essere spediti (per esempio, articoli che non sono fisici).
Per usare Amazon Pay:
Iniziare il processo di pagamento chiamando Encrypt con i dati obbligatori
Rindirizzare l’utente alla pagina di pagamento, passando il CryptDecryptString ricevuto in risposta.
Fabrick Payment Orchestra chiama l’URL di risposta dell’esercente positiva (o negativa) per notificare lo status della transazione; Fabrick Payment Orchestra chiama anche l’URL Server-to-Server dell’esercente. L’esercente deve decodificare i parametri e leggere lo status della transazione.
Per richiamare l’indirizzo dell’acquirente, bisogna chiamare callReadTrxS2S.
1. Encrypt
Il primo passo è crittografare la richiesta di pagamento e inviarla a Fabrick Payment Orchestra. Per farlo, chiamare Encrypt nel web service WsCryptDecrypt.
È disponibile un esempio di Encrypt nella nostra sezione API.
Se si vuole usare il tag paymentType per questo metodo, il valore da usare è AMAZONPAY. Visitare la sezione Come rindirizzare il cliente a un metodo di pagamento dove spieghiamo come usare il tag paymentType.
Con Amazon Pay il ShopTransactionId deve essere unico.
ShopTransactionId può contenere solo i caratteri seguenti:
a-z minuscolo
A-Z maiuscolo
numeri 0-9
trattino (-)
underscore (_)
Massimo: 32 caratteri
2. Reindirizzare l’utente
Fabrick Payment Orchestra risponde alla richiesta con EncryptResponse, che contiene un campo CryptDecryptString.
Per l’ambiente di prova reindirizzare l’utente a:
http://sandbox.gestpay.net/pagam/pagam.aspx?a=<ShopLogin>&b=<CryptDecryptString>
Per l’ambiente di produzione l’URL è:
http://ecomm.sella.it/pagam/pagam.aspx?a=<ShopLogin>&b=<CryptDecryptString>
Si possono trovare più informazioni in Usare la pagina di pagamento di Fabrick.
Una volta che l’acquirente viene rindirizzato se non è autenticato Amazon mostrerà un form di login:
Eseguito l’accesso l’acquirente vedrà una pagina dove può scegliere l’indirizzo di spedizione tra gli indirizzi salvati su Amazon:
Poi può scegliere una carta di credito tra quelle che ha salvato su Amazon.
Alla fine Fabrick Payment Orchestra esegue una richiesta di autorizzazione sulla carta di credito selezionata e l’acquirente viene rindirizzato sul sito dell’esercente (positive or negative response URL).
3. Leggere la risposta da Fabrick Payment Orchestra
Dopo che il pagamento è stato riconosciuto, Fabrick Payment Orchestra:
rindirizza l’utente alla URL specificata in URL for positive (o negative) response
in modo asincrono chiama l’URL Server to Server con le informazioni per la transazione.
Il processo è descritto all'interno della documentazione relativa alla pagina di pagamento standard.
Il carico utile di questa chiamata sono due parametri di query, il primo è lo Shop Login e il secondo una stringa crittografata.
Per decodificare una striscia crittografata bisogna chiamare Decrypt nel web service WsCryptDecrypt; si vedrà il risultato della transazione nella risposta.
4. Ottenere l’indirizzo di spedizione e di fatturazione dell’acquirente
Per recuperare gli indirizzi di spedizione dell’acquirente, chiamare callReadTrxS2S nel web service WsS2S. Qui si trova anche una risposta di esempio.
Le informazioni rilevanti sono contenute nel tag OrderReferenceDetails. Riportiamo un esempio della risposta di informazioni rilevanti:
1<callReadTrxS2SResponse xmlns="https://ecomms2s.sella.it/">
2 <callReadTrxS2SResult>
3 <GestPayS2S xmlns="">
4 ...
5 <OrderReferenceDetails>
6 <OrderReferenceStatus>
7 <State>Draft</State>
8 </OrderReferenceStatus>
9 <OrderLanguage>it-IT</OrderLanguage>
10 <Destination>
11 <DestinationType>Physical</DestinationType>
12 <PhysicalDestination>
13 <StateOrRegion>BI</StateOrRegion>
14 <Phone>33333333</Phone>
15 <City>BIELLA</City>
16 <CountryCode>IT</CountryCode>
17 <PostalCode>13900</PostalCode>
18 <Name>Marco Rossi</Name>
19 <AddressLine1>via Gobe 15</AddressLine1>
20 </PhysicalDestination>
21 </Destination>
22 <ExpirationTimestamp>2018-05-13T07:24:02.186Z</ExpirationTimestamp>
23 <IdList/>
24 <SellerOrderAttributes>
25 <SellerOrderId>4354395804398dkfjlhsdfk</SellerOrderId>
26 </SellerOrderAttributes>
27 <OrderTotal>
28 <CurrencyCode>EUR</CurrencyCode>
29 <Amount>10.00</Amount>
30 </OrderTotal>
31 <Buyer>
32 <Name>Ale</Name>
33 <Email>marco.rossi@email.it</Email>
34 </Buyer>
35 <ReleaseEnvironment>Sandbox</ReleaseEnvironment>
36 <AmazonOrderReferenceId>S02-0319513-4657042</AmazonOrderReferenceId>
37 <CreationTimestamp>2017-11-14T07:24:02.186Z</CreationTimestamp>
38 <BillingAddress>
39 <PhysicalAddress>
40 <City>Neunkirchen</City>
41 <CountryCode>DE</CountryCode>
42 <PostalCode>66538</PostalCode>
43 <Name>Liam Barker</Name>
44 <AddressLine1/>
45 <AddressLine2>Meininger Strasse 58</AddressLine2>
46 </PhysicalAddress>
47 <AddressType>Physical</AddressType>
48 </BillingAddress>
49 <RequestPaymentAuthorization>false</RequestPaymentAuthorization>
50 </OrderReferenceDetails>
51 ...
52 </GestPayS2S>
53 </callReadTrxS2SResult>
54</callReadTrxS2SResponse>
Se si desidera implementare la pagina di pagamento personalizzata caricando i widgets di Amazon Pay, si può chiamare direttamente Fabrick Payment Orchestra callPagamS2S (il web service che permette di pagare via server-to-server) con questi dati:
paymentType
AMAZONPAY
transKey
L’Order Reference Id ricevuto da Amazon
Si può trovare una chiamata di esempio nelle API.
Al momento, le catture multiple con AmazonPay non sono supportate dal gateway.
Con Amazon Pay si possono impostare i pagamenti ricorrenti. Per farlo, si può usare l’opzione amazonPayBillingAgreementDescription nell’Encrypt method:
1<Encrypt>
2 <shopLogin>9000001</shopLogin>
3 <uicCode>242</uicCode>
4 <amount>100</amount>
5 <shopTransactionId>34az85ord20</shopTransactionId>
6 <paymentTypes>
7 <paymentType>AMAZONPAY</paymentType>
8 </paymentTypes>
9
10 <!-- Il tag successivo serve per i pagamenti ricorsivi -->
11 <amazonPayBillingAgreementDescription>
12 paynowandrecurring
13 </amazonPayBillingAgreementDescription>
14 ...
15</Encrypt>
Valori possibili per amazonPayBillingAgreementDescription:
Vuoto – non viene restituito nessun token.
paynowandrecurring – il pagamento viene eseguito in modo istantaneo e viene generato un token per i pagamenti successivi.
onlyrecurring – viene restituito solo un token.
Si può trovare un esempio nei docs API.
Per usare il token per i pagamenti ripetuti, vedere CallPagamS2S.