latestOpenAPI 3.0.32026-08-20146131.7 MB

672b1916ba61

Payments

Prepare subscription authorization

Prepares the subscriber-signed Solana transaction that initializes the subscription authority and subscribes to the plan. The transaction must still be signed and submitted by the client.

post/v1/payments/subscriptions/{subscriptionId}/prepare-authorization

Path parameters

subscriptionIdstring required

SDP subscription record ID.

Example:psub_example

SDP subscription record ID.

Headers

x-project-idstring

Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

Example:prj_example

Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

Request body

subscriberTokenAccountstring required

Subscriber token account that authorizes the subscription authority delegation.

expectedPlanCreatedAtstring required

Unsigned 64-bit created-at timestamp from the on-chain plan terms that the subscriber consents to.

expectedSubscriptionAuthorityInitIdstring required

Signed 64-bit init id from the on-chain subscription authority that the subscriber consents to.

Example request

{
  "subscriberTokenAccount": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
  "expectedPlanCreatedAt": "0",
  "expectedSubscriptionAuthorityInitId": "0"
}

Response

Subscription authorization prepared

Example response

{
  "data": {
    "subscription": {
      "id": "psub_example",
      "organizationId": "org_example",
      "projectId": "prj_example",
      "subscriberAddress": "So11111111111111111111111111111111111111112",
      "subscriberTokenAccount": "So11111111111111111111111111111111111111112",
      "subscriptionPda": "So11111111111111111111111111111111111111112",
      "subscriptionAuthorityAddress": "So11111111111111111111111111111111111111112",
      "status": "active",
      "currentPeriodStartAt": "2025-01-01T00:00:00.000Z",
      "nextCollectionDueAt": "2025-01-01T00:00:00.000Z",
      "cancelAt": "2025-01-01T00:00:00.000Z",
      "canceledAt": "2025-01-01T00:00:00.000Z",
      "createdAt": "2025-01-01T00:00:00.000Z",
      "updatedAt": "2025-01-01T00:00:00.000Z"
    },
    "subscriptionPda": "So11111111111111111111111111111111111111112",
    "subscriptionAuthorityAddress": "So11111111111111111111111111111111111111112",
    "preparedTransaction": {
      "serialized": "AQID",
      "blockhash": "blockhash_example",
      "lastValidBlockHeight": "123456",
      "requiredSigners": [
        "So11111111111111111111111111111111111111112"
      ]
    }
  },
  "meta": {
    "requestId": "req_example",
    "timestamp": "2025-01-01T00:00:00.000Z"
  }
}