--- title: "Create the tender" url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/create-the-tender-jni" source_url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/create-the-tender-jni.md" canonical: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/create-the-tender-jni" last_modified: "2019-05-01T11:38:00+02:00" language: "en" --- # Create the tender [View source](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/create-the-tender-jni.md) ## Class | Name | Description | | ------------- | --------------------------------------------------------------------------------------- | | `MerchantPed` | Extends  `AdyenPed`.  Class used to implement all PIN entry device (PED) functionality. | ## Method | Name | Description | | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `createTender` | Creates a tender using a number of attributes.This method returns an immediate response of type `LibraryResult`. Check if this result is "OK", before continuing the operation. If the `LibraryResult` value is not "OK", the system will not return the related callback with the asynchronous result. See [here](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/handle-and-extract-data-from-callbacks-jni) for more on extracting data from an event or callback. | ## Tender Parameter | Name | Type | Description | | -------- | ------ | ------------------------ | | `tender` | Tender | Holds tender attributes. | For gift card operations, you create a tender prior to calling `cardOperation`. This `createTender` must not include a  **KeyedEntry** tender option.  If the original tender contains a **KeyedEntry** tender option, it is not possible to perform a `cardOperation`. ## Attributes | Name | Type | Required | Definition | | ------------------------- | --------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `merchantAccount` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The `merchantAccount` account to receive the money. | | `merchantReference` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The transaction reference provided by the Merchant (reported in the Adyen payments platform). | | `currency` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The transaction currency. | | `amount` | long | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The transaction amount in minor units (100 is 1.00 with EUR). | | `tenderOptions` | Tender.TenderOption | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The transaction options. Can be an empty TenderOption. | | `transactionType` | TransactionTypes | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The tender type (**GOODS\_SERVICES** or REFUND **GOODS\_SERVICES\_WITH\_CASHBACK**, **CASHOUT**). | | `pspReference` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The tender reference provided by the Adyen PSP (reported in the Adyen payments platform).A `pspReference` and `authCode` will not be visible if the transaction was performed offline. | | `orderReference` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The order reference for split payments (reported in the Adyen payments platform). | | `originalReference` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The original reference for refunds (reported in the Adyen payments platform). | | `gratuityAmount` | long | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The tender gratuity amount in minor units (100 is 1.00 with EUR). | | `shopperReference` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Shopper identification (used for omnichannel digital customer recognition; minimum length three characters). | | `shopperEmail` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Shopper identification (used for omnichannel digital customer recognition). | | `recurringContract` | RecurringContract | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Recurring contract if registering for **RECURRING** or **ONE\_CLICK** payments. | | `recurringContractDetail` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Recurring contract detail key (points at payment details of this Tender). | | `dccData` | DccData  | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Container for the DCC data. | | `receipts` | List\ | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Holds a list of receipt information. | | `authCode` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | authorization code for the transaction.A `pspReference` and `authCode` will not be visible if the transaction was performed offline. | | `refusalReason` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Reason for refused transaction, if applicable. | | `tenderPed` | AdyenPed | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The PED to run this transaction on, do not serialize it | | `terminalId` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The PED to process the transaction on. | | `adjustCurrency` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The transaction adjusted currency. | | `adjustAmount` | long | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The transaction adjusted amount in minor units (100 is 1.00 with EUR). | ## Passing tender options Pass tender options, such as creating a recurring contract, with the `TenderOption` list. For more information, see [**pass tender options** ](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/pass-tender-options-jni). ## Determine the current and final tender state Adyen provides a method to determine the current, or final, tender state. For more information, see [ **Determine the current and final tender state - JNI** ](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/determine-the-current-and-final-tender-state-jni). ## Callbacks | Name | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `createTenderCallback` | Immediate callback to creation of the tender. | | [`**progressCallback**`](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/handle-progress-events-jni) | Reports the progress on a running tender | | [`**additionalDataCallback**`](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/handle-the-additional-data-callback-jni) | Invoked after the shopper inserts or swipes a card. Retrieves additional data about the cardholder. | | [`**tenderDccCallback**`](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/extras-jni/handle-dynamic-currency-conversion-jni) | Returns dynamic currency conversion information to inform the POS what is happening on the PED. On the PED the shopper is allowed to choose their own currency to complete the tender. | | [`**tenderPrintReceiptCallback**`](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/handle-the-print-receipt-callback-jni) | Returns the receipt for printing, and requests that the POS confirms it has received the receipt. | | [`**tenderCheckSignatureCallback**`](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/handle-the-signature-callback-jni) | Allows the store assistant to accept or decline a shopper's signature on the PED. | | [`**finalCallback**`](/point-of-sale/classic-library-deprecation/classic-library-integrations/java-native-interface-integration/key-steps-jni/process-a-basic-transaction-jni/handle-the-final-state-callback-jni) | When the system finishes processing the tender, it triggers the final state callback. |