---
title: "Exchange an application-managed payment authorization"
method: POST
path: "/transactions/{transactionId}/payment-authorizations"
tags: ["Transactions"]
---

# Exchange an application-managed payment authorization

`POST /transactions/{transactionId}/payment-authorizations`

## Request

- Base URL: `https://api.darwin.so/api/v1`
- URL: `https://api.darwin.so/api/v1/transactions/{transactionId}/payment-authorizations`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Private preview. Validates and consumes one transaction-scoped Stripe Shared Payment Token. Generic PaymentMethod IDs, card data, and caller assertions that a payment occurred are rejected.

## Path parameters

- `transactionId` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

- ApplicationPaymentAuthorizationRequest
  - `type` 'STRIPE_SHARED_PAYMENT_TOKEN', required
  - `networkProfileId` string, required: Darwin seller network identifier used when the application provisions the SPT.
  - `grantedToken` string, required: One transaction-scoped, time-limited Stripe Shared Payment Token.

## Response `201`

The transaction-scoped payment authorization state.

- object
  - `paymentAuthorization` ApplicationPaymentAuthorization, required
    - `authorizationId` string, required
    - `transactionId` string, required
    - `status` string, required
    - `providerPaymentIntentId` string, nullable
    - `nextActionRequired` boolean
    - `clientSecret` string, nullable

## Other responses

- `400`: The request was invalid.
- `401`: The API key or access token is missing, invalid, expired, or revoked.
- `403`: The principal does not have the required scope or resource access.
- `404`: The resource was not found for this principal.

---

[API](https://skmtc.dev/darwin/apis/darwin-api.md) · [All operations](https://skmtc.dev/darwin/apis/darwin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/darwin/apis/darwin-api/revisions/56166fce7bfb?raw)
