Payments
/
Create Payment Intent

Create Payment Intent

POST
https://api.vivamo.co/v1/payment-intents

Create a payment intent for a customer. Returns a clientSecretKey to pass to the Vivamo SDK on your frontend. Requires amount, currency, and externalPaymentIntentId. Intents expire after 2 hours.

Request body

    customer
    object
    Required
      externalCustomerId
      string
      Required
      The customer identifier you provided when creating the record.
    paymentIntent
    object
    Required
      amount
      string
      Required

      Payment amount in dollars and cents (e.g. 100.00).

      currency
      string
      Required

      Currency code (e.g. USD, CAD).

      externalPaymentIntentId
      string
      Required
      Your reference identifier for this payment intent. Included in webhook payloads for reconciliation. Not enforced as unique — submitting the same ID twice creates separate intents.
      customData
      object
      Up to 3 custom key-value pairs stored against the intent. Use these to attach your own metadata (e.g. order ID, invoice number).
      Examples:{"custom1":"value1","custom2":"value2","custom3":"value3"}
      sendReceiptEmail
      boolean
      Defaults: false

      Set to true to email a receipt to the customer after a successful payment.

Response

Payment intent created.
    paymentIntentId
    string
    Vivamo's unique ID for this payment intent.
    amount
    string
    The payment amount.
    currency
    string
    The currency code.
    externalCustomerId
    string
    The customer identifier you provided.
    externalPaymentIntentId
    string
    Your unique identifier for this payment intent.
    clientSecretKey
    string
    Secret key to pass to the Vivamo SDK. Do not expose this to end users directly — it should be passed to the SDK on your frontend.
    clientSecretKeyValidTill
    string

    Expiration time for the client secret key (24 hours). In practice, the 2-hour expirationTime is the effective limit.

    expirationTime
    string
    Expiration time for the payment intent. Intents expire after 2 hours.
Built with