Get Payment Status (PYUSD)
GET
/v1/pyusd/payment-intents/:transactionIdpayin:createPoll a PYUSD payment intent after
Create Payment Intent. Extra fields include
paidAmount and settled (boolean). settled: true means the PYUSD-USDC
credit succeeded. If a webhook was missed, polling can still settle.
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
transactionId | string | Yes | transactionId from the create response |
Example
cURL
curl -X GET https://api.transacty.ai/v1/pyusd/payment-intents/{transactionId} \
-H "X-Transacty-Key: $TRANSACTY_KEY" \
-H "X-Transacty-Timestamp: $TS" \
-H "X-Transacty-Signature: $SIG" \
-H "Content-Type: application/json"Response fields
| Field | Type | Description |
|---|---|---|
transactionId | string | Public transaction id |
paymentIntentId | string | Upstream payment intent reference |
status | string | Transacty transaction status |
settlementStatus | string | Upstream settlement lifecycle |
settled | boolean | true when the PYUSD-USDC ledger credit succeeded |
amount | string | Requested PYUSD amount |
paidAmount | string | Net credited to the PYUSD-USDC pocket (present when settled) |
currency | string | PYUSD (what the payer sent) |
settlementCurrency | string | PYUSD-USDC |
settlementCurrencyLabel | string | PYUSD USDC |
network | string | ethereum |
depositAddress | string | Deposit address shown to the payer |
expiresAt | string (ISO datetime) | Intent expiry |
environment | string | live |
Mark the order paid only when settled is true (or settlementStatus is
settled). Do not treat “customer sent crypto” as credited.
List PYUSD intents with GET /v1/transactions?type=payin,
then filter rail === "pyusd" in your app. There is no rail= query parameter.
Outbound webhooks
After settlement, Transacty POSTs to your merchant webhook URL:
| Event | When |
|---|---|
payin.completed | PYUSD-USDC credited (currency: "PYUSD-USDC", paidAmount = net credited) |
payin.failed | Intent expired or failed |
Next steps
Last updated on