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 domestic credit transfer draft fields, validation rules, error codes, and cancellation, see Domestic Credit Transfer Drafts. For the shared approval flow, 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. Poll GET /payments/drafts until the new draftId appears with isValid: true — draft availability is eventually consistent
  4. POST /payments/drafts/approve with draftIds and redirectUrl when the draft appears in the list
  5. Poll GET /payments/drafts/approve/{requestId}/status for paymentId
  6. 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