---
title: Completion
slug: completion
docTags: 
createdAt: 2025-05-20T11:26:20.875Z
---

When `ToroConfig.captureMode` is set to `.manual` you need to send completion advice to the Toro gateway in order to capture the payment. This can be done as shown below.

```swift
let originalTransactionDetails = OriginalTransactionDetails(
    saleReferenceId: "sale-12345",
    amount: 1000,
    currency: .gbp,
    dateTime: "2025-01-01T00:00:00.000Z",
    transactionReference: "purchase_12345123",
    responseCode: .approved,
    authCode: "123456",
    paymentInterface: .contact,
    terminalSerialNumber: "2110022",
    additionalResponseInformation: "01:XZZ022a3a0a9a99f1B5MXJYICT525HCF"
)

toro.sendCompletionAdvice(
    originalTransactionDetails: originalTransactionDetails,
    onCompleted: { responseCode in
        print("Completion advice response received \(responseCode)")
    },
    onError: { error in
        print("Completion advice error: \(error)")
    }
)
```

