Setup intents are part of Accept, which is in early access and subject to change. To request
Accept access, contact hi@natural.com.
mdt_*) that you charge or hold under while the payer is away.
Create a setup intent
Create a setup intent with the mandate’s terms interms:
description: what you charge for, shown to the payer. For example, “Damage deposit for your stay”.amountTypeandamount:fixedcharges exactlyamount;variablecharges up toamount, in cents.usage:singleUseallows one paid charge.multiUseallows any number of charges, each withinamount, untilvalidUntil. UsemultiUsefor a deposit: asingleUsemandate refuses a new hold while one is open.validUntil: when the mandate ends.
expiresAt on the setup intent itself is when the link closes. It defaults to validUntil and can’t be later.
Send the payer to setupUrl, or pass clientSecret to natural.js to show the form on your page. The payer verifies their phone, types a card and accepts the terms. Natural verifies the card with a zero-amount check. The setup intent doesn’t return the terms. Once it completes, get the mandate to read them.
Statuses
open: waiting for the payer, and again after a card fails.processing: Natural is verifying the card.completed: the card is saved and the mandate is active.relationships.mandatelinks the mandate.declined: five cards failed on the link. It saves no more.canceled: you canceled it.expired:expiresAtpassed while it was open.
Events
mandate.created fires when the payer saves a card.