create payment

This block is part of the stripe group and was last modified in core v15.0.0.

create payment v15.0.0

Creates a PaymentIntent : the route for a custom card form, where the page confirms with Stripe.js using the client secret. For a hosted payment page use create checkout instead. Also the way to charge a card already on file, with off session.

In pins 15 + flow
  • flow
    flow
  • connection required
    stripeconnection
  • amount required
    number

    Amount in the smallest currency unit : €10.00 is 1000.

  • currency
    value

    Three-letter ISO code, lowercase. Default eur.

  • description
    value

    Shows in the Stripe dashboard and on some statements.

  • customer id
    value
  • payment method id
    value

    pm_… : a saved card to charge. Required with off session.

  • off session
    boolean

    Charge a saved card with the customer not present : a renewal, a top-up. Confirms immediately and tells the bank nobody is there to answer a 3D Secure challenge.

  • confirm now
    boolean

    Attempt the charge as part of this call rather than leaving it for the browser.

  • save card
    boolean

    Keep the payment method on the customer for future off-session charges.

  • payment methods
    array<value>

    Restrict the methods offered, e.g. ["ideal","card"].

  • receipt email
    value

    Stripe emails its own receipt here once the payment succeeds.

  • statement suffix
    value

    What the customer sees on their card statement, appended to the account's own prefix. This is the one to use for card payments : Stripe rejects the full descriptor whenever card is among the available methods, which is the default. Max 22 characters including the prefix.

  • statement descriptor
    value

    The complete statement text. Only valid when card is not an available payment method (iDEAL, SEPA and similar) : otherwise Stripe refuses the call. For cards use the statement suffix instead.

  • meta data
    object
  • idempotency key
    value

    Optional. Reusing a key makes Stripe replay the first response instead of creating a second object : wire something stable per order, like the order GUID.

Out pins 20 + flow
  • flow
    flow
  • connection
    stripeconnection
  • succeeded
    condition

    True only when the money has actually been taken. This is the pin to gate fulfilment on.

  • status
    value

    requires_payment_method, requires_action, processing, succeeded, canceled.

  • payment intent id
    value
  • client secret
    value

    Hand this to Stripe.js in the browser to confirm the payment. It is scoped to this one payment : but do not log it.

  • amount
    number

    What was asked for, in the smallest currency unit.

  • amount received
    number

    What was actually taken. Differs from amount on a partial capture.

  • currency
    value
  • payment method type
    value

    What the customer actually paid with: card, ideal, sepa_debit, bancontact… Read off the charge, so it is the method used, not the ones offered.

  • payment method
    value

    A line to show a person: "Visa ···· 4242", "ideal (INGBNL2A)", "SEPA ···· 3000".

  • payment method details
    object

    The full method details : brand, last4, bank, mandate, wallet.

  • charge id
    value

    Needed for a refund when no payment intent id is to hand.

  • receipt url
    value

    Stripe's own hosted receipt for this payment.

  • customer id
    value
  • meta data
    object
  • payment intent
    object
  • success
    condition
  • error
    value

    Stripe's own message, or a sentinel like MISSING_SESSION_ID for a problem in the wiring.

  • error code
    value

    Stripe's machine-readable code, e.g. card_declined, resource_missing.

  • decline code
    value

    Why the bank refused, e.g. insufficient_funds. Only set on a declined card.

payment intent
charge
take payment

Version history

Introduced in v15.0.0.

Service documentation

External API reference This block wraps a third-party service. Click here for the service's own documentation of the underlying endpoint.
Back to stripe Return to the main group to view all sub-groups Back to payments Return to the group to view all blocks within this group