Skip to content

createBankDebitMandateSetup

createBankDebitMandateSetup(product: EntityRef!): CreateBankDebitMandateSetupResult!

Mint a SetupIntent on the business's connected account so the buyer can authorize a bank-debit mandate before the subscription they're paying for exists.

For rails that cannot collect a mandate from a deferred-intent Payment Element — Canadian pre-authorized debit, which Stripe refuses there outright — this is what the bank form mounts against. Confirm it with confirmSetup, then hand the SetupIntent id to purchaseProduct as bankDebitMandate.

Re-runs the gates behind Membership.bankDebit server-side, plus the connected account's capability, and returns an error rather than a mandate when any of them says no — unlike the charge-time gate, there is nothing to silently fall back to here: the buyer asked for a bank form.

Arguments

productEntityRef!

Returns

CreateBankDebitMandateSetupResult!

See CreateBankDebitMandateSetupResult for the full shape.

Try it

Authentication
Example
Query
mutation CreateBankDebitMandateSetup($product: EntityRef!) {
  createBankDebitMandateSetup(product: $product) {
    __typename
  }
}
Variables
{}
POST https://go.sessions.website/api/graphql