Render the Hosted-checkout

Render Affirm's hosted-checkout on your web, iOS, or Android application for virtual cards.

📘

On the client-side, the Virtual Card product integration is identical to our Direct product. The minor exception is that we pass an additional attribute use_vcn in the request to issue a card on the loan.

How it works

This diagram shows how your client, your server, and Affirm interact:

📘

This schema is relevant for any client-side integration via web or mobile.

1. Online checkout


When a customer checks out, your client sends their order details client-side to Affirm. Next, we render the checkout experience for the customer. Lastly, we return a checkout_token in the success callback on their loan confirmation.

2. Create an order


Next, your front-end creates the order by sending the checkout_token to your server via POST, GET, or a Webhook.

3. Retrieve the card details


Client-side

Upon loan confirmation, we return the checkout_token and card details in the success callback.

Server-side

Upon loan confirmation, we return the checkout_token in the success callback to your front-end. Your server code receives the checkout_token and then uses Affirm’s Read Card endpoint to retrieve the card issued for that loan.

4. Process the virtual card


Using your existing payment gateway integration, you pass the virtual card details like any other payment card for authorization, capture, and refund.

📘

Affirm's checkout

Affirm will host the full checkout experience based on the request details. For the web, use Affirm.js. For mobile, use iOS and/or Android SDKs.

Click here to view the full end-to-end Affirm transaction flow.