You definitely should integrate Amazon Pay for guest buyers.
As Amazon Pay provides buyer information, shipping address and payment instrument, you can simplify the flow by removing unnecessary pages such as address input form page, and provides better buyer experiences. Consequently, it reduces buyer abandonment rate and increases conversion rate.
In addition, requiring buyer to signup as mandatory may cause more buyers leaving the site without completing checkout. Providing buyers the same checkout experience with member buyers is the key to success and Amazon Pay can help you implement such flow.
On the other hand, you may also want buyer to sign-up in checkout flow at the same time.
In such case, consider to implement checkout flow as explained in Sign-up flow where you can have buyer complete checkout and signup at the sametime by levaraging Amazon Pay feasibility at max. (As explained above, if you put member sign-up as mandatory before Amazon Pay checkout, it may cause buyers leaving the site before completing checkout).
Below flow explains how to integrate Amazon Pay for guest buyer and sign-up.
Below diagram shows website screen transitioning togehter with merchant and Amazon Pay processes involved. The diagram is horizontal, and flows from left to right. Please scroll the diagram to the right to see all flow.
Merchant site
Amazon Pay Hosted page in general
Merchant processing
Merchant site
Merchant processing
Amazon Pay Hosted page
Merchant processing
Merchant site
Merchant adds Amazon Pay button rendering script to show Amazon Pay button on merchant site. The buyer clicks Amazon Pay button.
Merchant then call Get Checkout Session API with amazonCheckoutSessionId. Merchant receives shipping address, payment instruments as API responseRef: Get Checkout Session response
▶︎
Merchant shows information received in API response (buyer information, billing address, shipping address, payment instrument and etc) on merchant order review page
● ● ●
Order reivew page
Buyer information
Shipping address
Change
〒153-0064
Shimomegro 1-8-1, Meguro, Tokyo
Amazon Taro
Payment instrument
Change
VISA 1111xxxx (Amazon Pay)
Order detail
Item
Price
Quant.
Total
Coffee beans
¥2,000
1
¥2,000
Coffee cup
¥500
1
¥500
Total
¥2,500
Buyer information In case information provided by Amazon Pay cannot satisfy your sign-up mandatory data needs, you may want to show input form on order review page as shown on the left. Please note that requiring buyers to input more than minimully required information upon signup will cause more buyers leaving the site without completing checkout. So we recommend you to review current input form fields, and remove some of them or decide to store dummy data in your member database if possible to simplify signup flow.- Buyer email, name etc Amazon Pay provides buyerId, name, email, phoneNumber. Merchant may use name as buyer's name, email and phone number as contact information. Please note Amazon Pay doesn't provide phoneNumber in API response in case buyer chose only Amazon Gift Card as a payment instrument.Merchant will store buyerId in temporary storage so they can save it in their member DB later when completing checkout.If Amazon SignIn is in integration scope, buyer will sign-in with Amazon ID and password from next time. So it may not be necessary for buyer to know merchant site member ID and Password.- billingAddress Merchant may use billingAddress provided by Amazon Pay as buyer address. There is only one billingAddress per payment instrument. Merchant may use billingAddress as a fill-in to editable form so buyer can manually update it as needed.billingAddress may not be same with shippingAddress, so it may be better to use billingAddress as buyer address instead of shippingAddress. Fiels in billingAddress is same with shippingAddress. Please note that there are some fields not used in Japan. Ref: Specification - Object - Address and Payment instrument DetailPlease note Amazon Pay doesn't provide billingAddress in API response in case buyer chose Amazon Gift Card as payment instrument.- Name and address format Name and address may NOT be in the form as merchant prefers (such as first-name and last-name is not split, city and detail address are not split).Moreover, there is no "furigana" provided from Amazon Pay.
In order to support merchants to deal with such challenges, Amazon Pay provides sample code to split name (into first name and last name) and address (in general Japanese address format). There is a sample code to generate "furigana" from Amazon name as well. Please find sample code from below; ・ amazonpay-divider: This sample code divides name and address in preferred format ・ furigana generator: This sample code divides name and generates "furigana" through prediction conversion from Kanji name.
Merchant calls Update Checkout Session API to update final order amount and paymentIntent to respective CheckoutSession using amazonCheckoutSessionId.
Please note there are three values supported with paymentIntent, and depeneding on paymentIntent, subsequent processes varies. See more detail with Specification - Parameter - PaymentIntent
When Update Checkout Session succeeds, Amazon Pay returns amazonPayRedirectUrl in API response. Merchant then redirects to amazonPayRedirectUrl.
You will find below in "webCheckoutDetails" in Update Checkout Session API response;"amazonPayRedirectUrl": "https://pay.amazon.com/redirect/checkoutId-1"
When process successfully completes, Amazon Pay redirects to checkoutResultReturnUrl set by merchant in payloadJSON. webCheckoutDetails.checkoutResultReturnUrl.Amazon Pay adds amazonCheckoutSessionId as a URL parameter
i.e. https://anyurl.com/result/?amazonCheckoutSessionId=26be7331-7dc2-4722-be22-f7e75582d3ef
▶︎
Merchant then calls Complete Checkout Session API to complete checkout.Amazon Pay returns chargePermissionId and maybe chargeId in API response. Merchants needs these IDs for subsequent processes, so merchant needs to save them in their database linked to respective order informationRef: Integration Guide - Complete Checkout Session response sampleWhen payment succeeds, merchant saves buyer data tied to member ID in the member database.Password You may want to show password input form at this timing for buyer to login with your site ID and Password from next time. In such case, we recommend you not to show the form but instead, you will set temporary password in your database for now, and send an email to the buyer explaining that they can reset password next time they visit your site. As explained earlier, it's important to keep smooth checkout flow till it's completed.Error handling There is a chance that payment process fails, so merchant needs to implement error handling properly. Re: Integration Guide - Manage erros