Skip to Content
API OverviewPaymentsMigration from direct DCT to drafts

Migration from direct DCT to drafts

POST /payments/domestic-credit-transfer is deprecated and scheduled for deletion in Q1 2027. New and existing integrations should migrate to the draft flow described on this page.

If you currently use POST /payments/domestic-credit-transfer, migrate to the draft flow before the endpoint is removed in Q1 2027 — whether you are building a new integration or updating an existing one.

For full draft API reference (validation rules, error codes, cancellation, and signing baskets), see Signing Baskets & Drafts.

Field mapping

Map direct initiation fields to domestic credit transfer draft fields as follows:

Direct DCT (POST /payments/domestic-credit-transfer)DCT DraftNotes
accountIdsenderAccountId
recipientBBANreceiverAccountBban11–14 characters
recipientNamereceiverNameRequired for DK instant transfers
titlesenderMessageSender transaction title
messageshortReceiverMessageMessage to recipient
dateexecutionDateISO-8601 date (YYYY-MM-DD)
redirectUrlon POST /payments/drafts/approve (not on the draft)

Flow changes

Before (direct initiation):

After (draft flow):

  1. POST /payments/drafts/domestic-credit-transfer with draftId and name
  2. PATCH payment fields incrementally as they become available
  3. POST /payments/drafts/approve with draftIds and redirectUrl when ready
  4. Poll GET /payments/drafts/approve/{requestId}/status for paymentId
  5. GET /payments/domestic-credit-transfer/{paymentId} for the final payment status

The draft flow separates payment preparation from authorization. You can build multi-step UIs, combine domestic credit transfer drafts with other payment types in a single signing basket, and retry failed payments without recreating the draft. Compared with direct initiation, drafts also give much improved validation handling before approval and clearer payment error feedback when a transfer fails after approval.

Last updated on