TrieOH
PayssageAPIIntents

Create a payment intent (checkout)

Starts a checkout: creates a payment intent against the wallet for the given seller, currency, and amount. The provider handles the payment out-of-band and reports the result via webhook. The actor must own the wallet. See the `Intent` schema for the provider-specific checkout data carried in `checkout_provider_data`.

POST/wallets/{wallet_id}/intents

Starts a checkout: creates a payment intent against the wallet for the given seller, currency, and amount. The provider handles the payment out-of-band and reports the result via webhook. The actor must own the wallet. See the Intent schema for the provider-specific checkout data carried in checkout_provider_data.

Authorization

AuthorizationBearer <token>

JWT issued by IdentityX, signed with Ed25519

In: header

Path Parameters

wallet_id*string

Wallet ID.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request body for checkout. checkout_provider_data is provider-specific and may carry payer info, installments, card tokens, etc. Mirrors models.CreateIntentRequest.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/wallets/497f6eca-6276-4993-bfeb-53cbbbba6f08/intents" \  -H "Content-Type: application/json" \  -d '{    "seller_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",    "currency": "BRL",    "amount_cents": 10000,    "checkout_provider_data": {      "payer": {        "email": "buyer@example.com",        "first_name": "Jane",        "last_name": "Doe"      }    },    "metadata": {      "order_id": "1234"    }  }'
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "wallet_id": "d9a8fbfc-848f-43a2-9168-911ed3a04a48",
  "seller_id": "28f4dc41-8499-4ead-9976-f2fa20a45fd1",
  "collector_id": "1d71b73d-897d-4e0f-85d3-9087b548c215",
  "amount_cents": 0,
  "currency": "string",
  "sandbox": true,
  "provider": "string",
  "status": "pending",
  "status_detail": "insufficient_funds",
  "provider_data": {},
  "metadata": {},
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z"
}
{
  "detail": "string",
  "instance": "../dictionary",
  "errors": [
    {
      "field": "string",
      "message": "string"
    }
  ],
  "type": "http://example.com",
  "status": 400,
  "title": "Validation Failed"
}
{
  "detail": "string",
  "instance": "../dictionary",
  "errors": [
    {
      "field": "string",
      "message": "string"
    }
  ],
  "type": "http://example.com",
  "status": 401,
  "title": "Unauthenticated"
}
{
  "detail": "string",
  "instance": "../dictionary",
  "errors": [
    {
      "field": "string",
      "message": "string"
    }
  ],
  "type": "http://example.com",
  "status": 403,
  "title": "Insufficient Role"
}
{
  "detail": "string",
  "instance": "../dictionary",
  "errors": [
    {
      "field": "string",
      "message": "string"
    }
  ],
  "type": "http://example.com",
  "status": 404,
  "title": "Not Found"
}
{
  "detail": "string",
  "instance": "../dictionary",
  "errors": [
    {
      "field": "string",
      "message": "string"
    }
  ],
  "type": "http://example.com",
  "status": 500,
  "title": "Internal Server Error"
}