> For the complete documentation index, see [llms.txt](https://sandbox-docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sandbox-docs.verifone.com/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/_commerce_8h.md).

# Commerce.h

[Data Structures](#nested-classes) | [Namespaces](#namespaces) | [Macros](#define-members) | [Enumerations](#enum-members) | [Functions](#func-members)

`#include "`[Api.h](/adk-5.0-programmers-guide/_api_8h_source.md)`"` `#include "`[CpTrigger.h](/adk-5.0-programmers-guide/_cp_trigger_8h_source.md)`"` `#include "`[CpFunctional.h](/adk-5.0-programmers-guide/_cp_functional_8h_source.md)`"` `#include "`[EnvironmentDataProvider.h](/adk-5.0-programmers-guide/_environment_data_provider_8h_source.md)`"` `#include "`[TransactionDataProvider.h](/adk-5.0-programmers-guide/_transaction_data_provider_8h_source.md)`"` `#include "`[cpdllspec.h](/adk-5.0-programmers-guide/cpdllspec_8h_source.md)`"` `#include "`[ipc/jsobject.h](/adk-5.0-programmers-guide/ipc_2src_2ipc_2jsobject_8h_source.md)`"` `#include <string>` `#include <list>` `#include <stdint.h>`

Include dependency graph for Commerce.h:

![](/files/de2TotBSml6n3FWBjiHR)

[Go to the source code of this file.](/adk-5.0-programmers-guide/_commerce_8h_source.md)

|                 |                                                                                                                                                                                                                                                                                                                                                       |
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data Structures |                                                                                                                                                                                                                                                                                                                                                       |
| struct          | [InvokeResult](https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/structvficpl_1_1_invoke_result.md)                                                                                                                                                                                                                            |
|                 | <p>Trigger invocation result. <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/structvficpl_1_1_invoke_result.md#details">More...</a><br></p>                                                                                                                                                                        |
| struct          | [InvokeRequest](https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/structvficpl_1_1_invoke_request.md)                                                                                                                                                                                                                          |
| class           | [Barcode](https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_barcode.md)                                                                                                                                                                                                                                        |
|                 | <p>Represents <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_barcode.md">Barcode</a> object on CP-Payment communication. <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_barcode.md#details">More...</a><br></p>                                 |
| class           | [LoyaltyIdentifier](https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_loyalty_identifier.md)                                                                                                                                                                                                                   |
|                 | <p>Represents <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_loyalty_identifier.md">LoyaltyIdentifier</a> object on CP-Payment communication. <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_loyalty_identifier.md#details">More...</a><br></p> |
| class           | [Offer](https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_offer.md)                                                                                                                                                                                                                                            |
|                 | <p>Represents the <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_offer.md">Offer</a> object on CP-Payment communication. <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_offer.md#details">More...</a><br></p>                                   |
| class           | [Merchandise](https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_merchandise.md)                                                                                                                                                                                                                                |
|                 | <p>Represents the <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_merchandise.md">Merchandise</a> object on CP-Payment communication. <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_merchandise.md#details">More...</a><br></p>                 |
| class           | [Donation](https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_donation.md)                                                                                                                                                                                                                                      |
|                 | <p>Represents the <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_donation.md">Donation</a> object on CP-Payment communication. <a href="https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvficpl_1_1_donation.md#details">More...</a><br></p>                          |
| struct          | [AltPaymentData](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#structvficpl_1_1_alt_payment_data)                                                                                                                                                                                                                                   |
|                 | <p>Represents Alt Payment Data object on CP-Payment communication. <a href="/pages/4pqKHnQWBKjlw5k1bzwH#structvficpl_1_1_alt_payment_data">More...</a><br></p>                                                                                                                                                                                        |
| struct          | [TechAltPaymentData](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#structvficpl_1_1_tech_alt_payment_data)                                                                                                                                                                                                                          |
|                 | <p>Represents Alt Payment trigger response. <a href="/pages/4pqKHnQWBKjlw5k1bzwH#structvficpl_1_1_tech_alt_payment_data">More...</a><br></p>                                                                                                                                                                                                          |
| struct          | [CustomerIdentification](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#structvficpl_1_1_customer_identification)                                                                                                                                                                                                                    |
|                 | <p>Customer identification to be used equivalent to a card pre-dip / pre-swipe. <a href="/pages/4pqKHnQWBKjlw5k1bzwH#structvficpl_1_1_customer_identification">More...</a><br></p>                                                                                                                                                                    |
| struct          | [PaymentAmountAdjustment](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#structvficpl_1_1_payment_amount_adjustment)                                                                                                                                                                                                                 |
|                 | <p>Payment amount adjustment Fx data. <a href="/pages/4pqKHnQWBKjlw5k1bzwH#structvficpl_1_1_payment_amount_adjustment">More...</a><br></p>                                                                                                                                                                                                            |

|            |                                                                           |
| ---------- | ------------------------------------------------------------------------- |
| Namespaces |                                                                           |
|            | [vficpl](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md) |

|         |                                                                                         |
| ------- | --------------------------------------------------------------------------------------- |
| Macros  |                                                                                         |
| #define | [CPL\_EXPLICIT\_OPERATOR\_BOOL](#a278739b9dd4ef39e58e5f7f7ea515d15)()   operator bool() |

|              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Enumerations |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| enum         | <p><a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> {<br>  <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05fae086821aa37071bfbb216a0fb5643cc3">CP\_INVOKE\_SUCCESS</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05fa3e0843950e675d30cc04ab9c43327ed3">CP\_INVOKE\_FAILED</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05fa15a82fbea37fb093d565e0d9db9298e9">CP\_INVOKE\_TIMEOUT</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05fa74effbcc2afb8cff7bd2a511279b77b6">CP\_INVOKE\_MANDATORY\_PARAMS\_MISSING</a>,<br>  <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05fa24981dca9214e9b22b8fe4515d8ceaa9">CP\_INVOKE\_SERVICE\_SUCCESS</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05fa51518a55f4963bb63b166244ec3f23e9">CP\_INVOKE\_NATIVE\_SUCCESS</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05fa348cffdd1862b4403ee65ee4b880f63c">CP\_INVOKE\_CANCELED</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05fa57c4ceaf23acc04bae1231f0c3a0d3ef">CP\_INVOKE\_BUSY</a>,<br>  <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05faa8780beaab249baa6c45fc0108dcd8c7">CP\_INVOKE\_IDLE</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05fa1308487c375a59992f9a1157ec8c5392">CP\_INVOKE\_NOT\_IMPLEMENTED</a><br>}</p> |
|              | <p>Represents possible error codes of invoke call. <a href="/pages/4pqKHnQWBKjlw5k1bzwH#a59e56af19e754a6aa26a612ebf91d05f">More...</a><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| enum         | <p><a href="/pages/4pqKHnQWBKjlw5k1bzwH#ad7c9d0eab3af08a96ce9fd9ce293de88">OFFER\_TYPE</a> {<br>  <a href="/pages/4pqKHnQWBKjlw5k1bzwH#ad7c9d0eab3af08a96ce9fd9ce293de88ae836b3548e12b2e722918c0ba5db3bb0">OFFER\_UNDEFINED</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#ad7c9d0eab3af08a96ce9fd9ce293de88a055d7389ec059ad865fde1dd02504117">OFFER\_MERCHANT\_COUPON</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#ad7c9d0eab3af08a96ce9fd9ce293de88a782450e10ad6812a794228dae173b2ea">OFFER\_MANUFACTURER\_COUPON</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#ad7c9d0eab3af08a96ce9fd9ce293de88a16427e84542c1fe797b399a9a82ecd41">OFFER\_OTHER\_COUPON</a>,<br>  <a href="/pages/4pqKHnQWBKjlw5k1bzwH#ad7c9d0eab3af08a96ce9fd9ce293de88a16ee5740ffd2e9a2064a43f36c1d8cfa">OFFER\_PRODUCT\_DISCOUNT</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#ad7c9d0eab3af08a96ce9fd9ce293de88a128bff6b7fa2474e01ba2fb6b3f957f3">OFFER\_LOYALTY\_CARD</a>, <a href="/pages/4pqKHnQWBKjlw5k1bzwH#ad7c9d0eab3af08a96ce9fd9ce293de88abd542afe07b9f273f121ac6041511eab">OFFER\_TRANSACTION\_DISCOUNT</a><br>}</p>                                                                                                                                                                                                                                                                                                                                                                                                                        |
|              | <p>Represents the Offer object on CP-Payment communication. <a href="/pages/4pqKHnQWBKjlw5k1bzwH#ad7c9d0eab3af08a96ce9fd9ce293de88">More...</a><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

|                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Functions                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                                                                                                            |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) Api &                                                                                                                                  | [getApi](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a42b69ad670428bf118b40a00cf59b496) ()                                                                                                                             |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [setEnvironmentDataProvider](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a770b649a42bf6c1cf1d34e0c6165ff58) (EnvironmentDataProvider \&envData)                                                                        |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) void                                                                                                                                   | [setBasket](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a47c8903f6cf26144150fa99d21fd807e) (const std::list< Merchandise > \&merchandises, const std::list< Offer > \&offers, const std::list< Donation > \&donations) |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [getBasket](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#ab1c5bc2e93eed8cd5c3356e1dd12f119) (std::list< Merchandise > \&merchandises, std::list< Offer > \&offers, std::list< Donation > \&donations)                   |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [setApi](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#aef8408b1629d19eaa27a183be2bef5e2) (Api \&api)                                                                                                                    |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) std::string                                                                                                                            | [getProvision](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#af3331180e3743ea6d16d29ff2427ac48) ()                                                                                                                       |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) std::string                                                                                                                            | [getPublisher](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a3b3fc3a29c1354026365dd16bfc7e504) ()                                                                                                                       |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) std::string                                                                                                                            | [getPublisherId](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a594d8e35680d4e7497544bc3d5ac8c46) ()                                                                                                                     |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) std::string                                                                                                                            | [getQrCodeString](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a0277b25de7a0475fb50eb12c38b14181) ()                                                                                                                    |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) std::list< Offer >                                                                                                                     | [getLoyaltyOffers](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a6c337b2d5da35972bb2ecee3c04f9a8a) ()                                                                                                                   |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) std::list< LoyaltyIdentifier >                                                                                                         | [getLoyaltyIdentifiers](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a0a7f7e7b82c6f3b755a81c7bfc7b7ab0) ()                                                                                                              |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) std::string                                                                                                                            | [getFxAmount](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a8e454211981744b922bae32f48d293e3) ()                                                                                                                        |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) std::string                                                                                                                            | [getFxCurrency](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a168a379c94be7d795b0567e0890956ea) ()                                                                                                                      |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) AltPaymentData                                                                                                                         | [getAltPaymentData](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a9de813115021e14784c242e92757d47f) ()                                                                                                                  |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) TechAltPaymentData                                                                                                                     | [getTechAltPaymentData](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a923e76d59a4651b0f30b2df42601f790) ()                                                                                                              |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) CustomerIdentification                                                                                                                 | [getCustomerIdentification](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#aa2ddfbcdfec859501be40da14b462a9f) ()                                                                                                          |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) PaymentAmountAdjustment                                                                                                                | [getPaymentAmountAdjustment](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a5898fddd803a36971b95be0edb8d8876) ()                                                                                                         |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [init](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a5ef71297d93fdd0099630254ef4f0aea) (const std::string \&applicationId, TransactionDataProvider \&trxData, Api \&api, EnvironmentDataProvider \&envData)             |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [init](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#adc3b1693acfc9926b43d49177dddea69) (const std::string \&applicationId, TransactionDataProvider \&trxData, Api \&api)                                                |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [init](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#af3604b595253ea6907e5150e83155e8d) (const std::string \&applicationId, TransactionDataProvider \&trxData, EnvironmentDataProvider \&envData)                        |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [init](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a5b999c5309312eecb43d568bb14032bb) (const std::string \&applicationId, TransactionDataProvider \&trxData)                                                           |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [init](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#ad2968ca7d610c815f173414d645e8852) (const std::string \&appid, ITransactionDataProvider \&trxData, Api \&api, EnvironmentDataProvider \&envData)                    |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [init](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a4fcf7041b913d34d9cb6cab1ffb422d3) (const std::string \&appid, ITransactionDataProvider \&trxData, Api \&api)                                                       |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [init](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#ad8c7c8a15638521499c7c16ddd8705cb) (const std::string \&appid, ITransactionDataProvider \&trxData, EnvironmentDataProvider \&envData)                               |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) bool                                                                                                                                   | [init](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a792f8eceedf83bd7416fd1c7f11eef87) (const std::string \&appid, ITransactionDataProvider \&trxData)                                                                  |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) void                                                                                                                                   | [deinit](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a352ddaa2769fa08bbfa0e95d5d9cca6f) ()                                                                                                                             |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) [ErrorCode](/adk-5.0-programmers-guide/readme/modules/group__inf__util/group__inf__util__public.md#ga59e56af19e754a6aa26a612ebf91d05f) | [invoke](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#ab9d50d8d888d385d38a92e3d8b1974ba) (InvokeRequest \&request)                                                                                                      |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) InvokeResult                                                                                                                           | [invoke](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a3795a53125b8ae4c1348294b60334aba) (const CpTrigger trigger)                                                                                                      |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) InvokeResult                                                                                                                           | [invoke](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a03bd564e57072915ec1c7b82574c04ae) (const CpTrigger trigger, bool sysToForground)                                                                                 |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) InvokeResult                                                                                                                           | [invokeByName](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#adc04dd7fe0a7a61093b18d8c74943621) (const CpTrigger trigger, const std::string \&programName)                                                               |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) InvokeResult                                                                                                                           | [invokeByName](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#ae10e0edc808d5382d7a6b268b0fd5eef) (const CpTrigger trigger, const std::string \&programName, bool sysToForground)                                          |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) InvokeResult                                                                                                                           | [invokeFromDesktop](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a571ac156101cdd0fb2361788064ac5e1) (const CpTrigger trigger)                                                                                           |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) InvokeResult                                                                                                                           | [invokeFromDesktop](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a2b66f79671a09e00b3c5f65ca32bcb69) (const CpTrigger trigger, bool sysToForground)                                                                      |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) std::vector< std::string >                                                                                                             | [getCpAppList](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#ab0b9912d7ee77961fb31ae13f9e34e18) (const CpTrigger trigger)                                                                                                |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) [vfiipc::JSObject](https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvfiipc_1_1_j_s_object.md)             | [getCpPropList](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a20d7f23a5f162116695a1192072f0d8f) (const CpTrigger trigger)                                                                                               |
| [CPDllSpec](/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/cpdllspec_8h.md#a405283673573049b0d38f77c79ee0e06) [vfiipc::JSObject](https://github.com/verifoneone/verifone-git-book-adk/tree/ADK5.0_staging/classvfiipc_1_1_j_s_object.md)             | [getCpExtraProps](/adk-5.0-programmers-guide/readme/namespaces/namespacevficpl.md#a19a35b029151524c96d7131b3ddd4709) (const std::string \&appid)                                                                                           |

***

### DataStructure Documentation <a href="#data-structure-documentation" id="data-structure-documentation"></a>

### vficpl::AltPaymentData <a href="#structvficpl_1_1_alt_payment_data" id="structvficpl_1_1_alt_payment_data"></a>

struct vficpl::AltPaymentData

Represents Alt Payment Data object on CP-Payment communication.

|             |                  |                                                                                                                                                |
| ----------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Data Fields |                  |                                                                                                                                                |
| string      | approvedAmount   | Amount approved by the Alternate Payment Commerce Application. This amount is returned as a negative number. String amount formatting applies. |
| string      | authCode         | The transaction Authorization Code usally provided by the Alternate Payment Service Provider.                                                  |
| string      | methodsOfPayment | Description of Alternate Payment service.                                                                                                      |
| string      | redeemedUnits    | Number of units of alternate currency consumed.                                                                                                |

### vficpl::TechAltPaymentData <a href="#structvficpl_1_1_tech_alt_payment_data" id="structvficpl_1_1_tech_alt_payment_data"></a>

struct vficpl::TechAltPaymentData

Represents Alt Payment trigger response.

|             |                 |   |
| ----------- | --------------- | - |
| Data Fields |                 |   |
| string      | approvedAmount  |   |
| string      | authCode        |   |
| string      | methodOfPayment |   |
| string      | redeemedUnits   |   |
| bool        | result          |   |
| string      | techHandle      |   |
| string      | techType        |   |

### vficpl::CustomerIdentification <a href="#structvficpl_1_1_customer_identification" id="structvficpl_1_1_customer_identification"></a>

struct vficpl::CustomerIdentification

Customer identification to be used equivalent to a card pre-dip / pre-swipe.

|                |        |                                                                                                                           |
| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------- |
| Data Fields    |        |                                                                                                                           |
| list< string > | ids    | A customers identifier(s) unique in the service provider system.                                                          |
| string         | par    | Payment Account Reference (PAR) represents the Payment Account at the same level that PAN represents the Payment Account. |
| list< string > | tokens | Customer token(s) provided by the Verifone tokenization service.                                                          |

### vficpl::PaymentAmountAdjustment <a href="#structvficpl_1_1_payment_amount_adjustment" id="structvficpl_1_1_payment_amount_adjustment"></a>

struct vficpl::PaymentAmountAdjustment

Payment amount adjustment Fx data.

|             |                       |   |
| ----------- | --------------------- | - |
| Data Fields |                       |   |
| bool        | fxAccepted            |   |
| string      | fxAmount              |   |
| string      | fxCurrency            |   |
| double      | fxInvertedRate        |   |
| string      | fxMerchantId          |   |
| double      | fxPercentageCommision |   |
| double      | fxPercentageMargin    |   |
| double      | fxRate                |   |
| string      | fxTerminalId          |   |

### MacroDefinition Documentation <a href="#macro-definition-documentation" id="macro-definition-documentation"></a>

### CPL\_EXPLICIT\_OPERATOR\_BOOL <a href="#a278739b9dd4ef39e58e5f7f7ea515d15" id="a278739b9dd4ef39e58e5f7f7ea515d15"></a>

\#define CPL\_EXPLICIT\_OPERATOR\_BOOL


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sandbox-docs.verifone.com/adk-5.0-programmers-guide/readme/files/dir_2002fcb36e937be08e088f9ab4e81de8/dir_fad52422ca9a0153aca9cfe879bff259/dir_613e11e510006a27889deef70cf7d9b4/_commerce_8h.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
