Skip to main content

Method

POST /v1/payments/accounts/upsert

Body Parameters

Headers

Authorization
string
Bearer token (requires payments:write).
content-type
string
application/json

Request Example

curl -X POST https://api.voyantcloud.com/v1/payments/accounts/upsert \
  -H "Authorization: Bearer $VOYANT_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "provider": "netopia",
    "displayName": "Netopia LIVE",
    "liveMode": true,
    "config": {
      "posSignature": "xxxx-xxxx-xxxx",
      "apiKey": "secret-api-key"
    }
  }'

Response

{ "id": "payacct_123" }
The endpoint encrypts credentials using Cloud KMS. Configure GCP_SERVICE_ACCOUNT_KEY + GCP_KMS_INTEGRATIONS_KEY_NAME (or KMS_ENCRYPTION_KEY for development) before upserting accounts. Without encryption keys the API returns 501.