Skip to main content

Delta End-to-End Test

Use this test after Delta has been enabled for your organization. It verifies that Conto creates the approval, delivers the signed request, records the decision, and exposes the resulting payment state to both operators and integrations.

Prerequisites

The dashboard shows the Delta section
Your verification webhook is available at a public HTTPS URL
Your verification service and Conto use the same HMAC secret
The test vendor is accepted by both Delta and your Conto counterparty controls
You have an agent SDK key with the payment scopes required for your wallet flow

Add Invoice Context

Include a durable invoice ID and hash so both systems can reconcile the decision and detect a duplicate invoice.

Managed-Wallet Flow

1. Request The Payment

The response should include:
  • status: "REQUIRES_APPROVAL"
  • a stable requestId and approvalRequestId
  • a reason explaining that external verification is required
  • a status or approval link when one is available

2. Verify Delivery And Decision

Confirm that your service receives a signed approval.requested event containing the same approval reference and invoice context. Submit the approve or reject callback using the contract documented in Notification Channels. For Delta verification responses that include evidence, use the callback URL provided during onboarding. Send the exact JSON bytes that you sign, with an ISO 8601 X-Conto-Timestamp and an X-Conto-Signature containing the lowercase HMAC-SHA256 of ${X-Conto-Timestamp}.${rawBody}.
The receipt returns stable reconciliation fields without echoing the evidence payload:
Retrying the same signed decision returns recorded: true with idempotent: true. Submitting a different decision for the same verifier returns DECISION_CONFLICT. After the callback, fetch the approval or payment status and verify that:
  • the original approval reference is unchanged
  • the decision and timestamp are visible
  • a rejection includes a stable reason and does not proceed
  • an approval moves the payment to the next supported action

3. Execute An Approved Payment

Use the returned Conto transaction reference, network, status, and receipt or explorer link to reconcile completion.

External-Wallet Flow

For an external wallet, first authorize the proposed payment:
Wait for the external verification decision, send the transfer with your signer, and then confirm the transaction in Conto:

Duplicate-Invoice Check

After the first completed test, resubmit the same invoice ID or hash with a new idempotency key. Verify that the payment does not proceed and that the response and Delta record explain the duplicate decision with a stable reason.

Reconcile In The Dashboard

Use these customer-visible references to match the full flow:
  • Alerts & Approvals: payment amount, approval state, reason, and next action
  • Delta: verification state, invoice reference, decision, and proof reference
  • Transactions: Conto transaction ID, network status, and receipt or explorer link

Troubleshooting

Delta Verification Setup

Prepare the organization and webhook connection

Payments API

Review payment lifecycle requests and response fields

Notification Channels

Verify signatures, delivery, and callbacks

External Approvals

Understand expiration, decisions, and proof fields