--- title: "Start Alipay and WeChat Pay transactions" url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/extras-com-extension/start-alipay-and-wechat-pay-transactions-com" source_url: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/extras-com-extension/start-alipay-and-wechat-pay-transactions-com.md" canonical: "https://docs.adyen.com/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/extras-com-extension/start-alipay-and-wechat-pay-transactions-com" last_modified: "2019-07-30T17:18:00+02:00" language: "en" --- # Start Alipay and WeChat Pay transactions [View source](/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/extras-com-extension/start-alipay-and-wechat-pay-transactions-com.md) ## PedDevice Object | Name | Description | | ----------- | ---------------------------------------- | | `PedDevice` | PED object that represents the terminal. | ## Create a SpecialTenderRequest object | Name | Description | | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | `CreateSpecialTenderRequest` | Use this method to create a request object to hold the special tender details. Instantiates an `Adyen.SpecialTenderRequest` object. | ## Adding Parameters to a SpecialTenderRequest ### Parameters * Pass **"wechatpay\_pos"** for WeChat Pay transaction. | Key | Type | Required | Description | | ------------------- | -------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `merchantAccount` | 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). | | `amountValue` | String | ![-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). The Amount field should be a strong typed field with a string for currency code and a number (long) for the minor digits value (similar to the current API (of the terminal)). | | `amountCurrency` | long | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The transaction currency. | | `TransactionType` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | Type of transaction. `TransactionType` takes the following value:- payment | | `paymentMethodType` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The type of payment method, in this case wallets. `PaymentMethodType` takes the following values:- - Pass **"alipay"** for an Alipay transaction. | | `specialOptions` | SpecialTenderOptions | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Holds tender attributes. | | `handleReceipt` | Boolean | ![-x-](/user/data/smileys/emoji/x.png "-x-") | 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. | Add parameters to the `SpecialTenderRequest` using the `SpecialOptions.Add` method.  Remove parameters from the `SpecialTenderRequest` using the `SpecialOptions.Rm` method.  | Name | Type | Required | Description | | ---------------- | ------ | ------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | `cardNumber` | String | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The scanned number from the wallet app (to be provided only for [Flow 3: Cash register scans Shopper barcode](/point-of-sale/qr-code-wallets)) | | `forceEntryMode` | String | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The entry mode for the transaction. In this case, use the value "Keyed". | Not all languages using COM handle empty parameters equally. This has the potential to cause unexpected behavior. To prevent this, provide empty strings or pass `Null` objects for C++/C#, and the default value `Nothing` for VB.NET. ### Code example ```vb specialTenderRequest.SpecialOptions.Add("cardNumber", "60362821657200117610") ``` ## Create a special tender | Name | Description | | --------------------- | -------------------------------------------------------------------------------------------- | | `CreateSpecialTender` | Use this method to create a special tender and pass the `Adyen.SpecialTenderRequest` object. | ## Callbacks | Name | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | | [Progress Event Callback](/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/key-steps-com-extension/process-a-basic-transaction-com-extension/handle-progress-events-com-extension) | Reports the progress of a running tender. | | [PrintReceipt Callback](/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/key-steps-com-extension/process-a-basic-transaction-com-extension/handle-the-print-receipt-callback-com-extension) | Returns the receipt for printing, and requests that the POS confirms it has received the receipt. | | [Final Callback](/point-of-sale/classic-library-deprecation/classic-library-integrations/com-extension-for-windows-integration/key-steps-com-extension/process-a-basic-transaction-com-extension/handle-the-final-state-callback-com-extension) | When the system finishes processing the tender, it triggers the final state callback. |