--- title: "Start gift card transactions - iOS" url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/ios-integration/extras-ios/start-gift-card-transactions-ios" source_url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/ios-integration/extras-ios/start-gift-card-transactions-ios.md" canonical: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/ios-integration/extras-ios/start-gift-card-transactions-ios" last_modified: "2026-05-23T12:56:20+02:00" language: "en" --- # Start gift card transactions - iOS [View source](/point-of-sale/classic-library-deprecation/classic-library-integrations/ios-integration/extras-ios/start-gift-card-transactions-ios.md) ## Method Call `createSpecialTransactionRequest`  on the selected `ADYDevice`. This creates an `ADYSpecialTransactionRequest` object. ### Parameters | Parameters | Type | Required | Description | | ------------------- | ------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `reference` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | A merchant-supplied reference for the transaction | | `amount` | NSNumber | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The amount of the transaction. | | `currency` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The currency of the transaction. | | `transactionType` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | * **payment** - Make a payment with the balance. * **load** - Load a balance to a card. * **redeem** - Redeem the value of a card. * **balanceInquiry** - Check the balance of a card. | | `options` | Dictionary | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Options is an NSDictionary with key value pairs. This information is passed directly to the PED, which interprets it.Activate, load, or refund a balance to a card by creating a special tender and passing the following values as the `loadType` in special options:* **activate** - Activates a gift card. * **load** - Adds a balance to a gift card. * **merchandise\_return** - Add a refund balance back on to a gift card. This uses the same functionally as a load but is separated for accounting purposes.The activate and load values can be piped to chain the tasks by passing "**activate\|load**".Perform a cash back or deactivate a card by creating a special tender and passing a `redemptionType` as a special option. * **cashback -** Cash out the value of a gift card. For SVS, you must create a zero-value transaction to cash out the entire balance of a card. You can not cash out a specific amount. * **deactivate **- Deactivates a gift card.  (Deactivate is not available for SVS). * **gratuity** - Used to provide a tip from a gift card. (For SVS cards only).The cashback and deactivate values can be piped to chain the tasks by passing  "**cashback\|deactivate**". | | `paymentMethodType` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | **Values:*** **svs** for an SVS gift card. * **givex** for a Givex gift card. | | `merchantReference` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The unique merchant reference for the transaction. | | `handleReceipt` | Boolean | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Specifies that the POS handles and prints receipts. If omitted, it is required that the PED prints the receipt. If there is no printer unit, the transaction will fail. | | `additionalData` | NSMutableDictionary | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Contains key/value pairs that can be used by the merchant to return specific additional data, in particular in the final transaction result. | ### Callbacks Implement the `ADYTransactionProcessorDelegate`, specifically the methods: * `(void)transactionComplete:(ADYTransactionData*)transaction` * `(void)transactionRequiresPrintedReceipt:(ADYPrintReceiptRequest*)printReceiptRequest` ## Check transaction progress Use the `ADYTransactionProcessorDelegate` to stay informed about the transaction's progress and completion. The `error` param is set if the transaction cannot be started. ```objectivec - (BOOL)startWithDelegate:(id)delegate error:(NSError **)error; ``` ## Cancel a gift card transaction Use the `requestCancel` method to cancel a gift card transaction.