Square Online Checkout -> APIs with Card on File

You can do this. The information is available in with webhooks. If the customer_id isn’t in the order then it’s in the payment. You can call GetPayment with the payment_id in the order.

With the payment you’ll get the customer_id which you can use to create future orders for and you can ListCards with the customer_id. If they have a stored card on file that matches the data from the card_details you can programmatically create and pay for the orders on the customers desired cadence.

If there isn’t a card on file or it doesn’t match the card_details you can create a card on file with the payment_id and customer_id. Once the card is created then you can programmatically create and pay for orders on the customers desired cadence. :slightly_smiling_face: