Regional payment flows: Argentina

Latin America

The Remote Pay SDKs support regional payment flow differences with parameters specific to each region. These parameters are passed as key-value pairs in theSaleRequest, AuthRequest, and PreAuthRequest.

Regional payment parameters for Argentina in regionalExtras

Clover devices in Argentina display two additional screens during the default payment flow: the fiscal invoice and installment screens. The following table describes the parameters specific to payment flows in Argentina. The parameter names are constants defined in theregionalExtras class.

📘

NOTE

These regional payment parameters apply only to REST integrations using the Remote Pay API.

ParametersTypeFormatDescription
currencystring3-characterIndicates the payment currency.
Example: ARS or USD
argentinaobjectIndicates fields specific to the country, as follows:
invoiceNumberstringnnnn-nnnnnnnnIndicates the invoice number of the purchase.
skipInvoiceDisplaybooleantrue/falseIf set to true, the invoice number entry screen does not display, and no invoice number is associated with the transaction. If invoiceNumber is configured, this field is ignored.
Note: To display the invoice number entry screen, the Show Invoice Number screen option must be enabled in the Merchant Dashboard.
numInstallmentsinteger1-99Indicates the number of installments.
Minimum value: 1, maximum value: 99
If this field is set, the installment entry screen is not displayed. Otherwise, this screen is displayed so the user can enter the number manually.
merchantIdstring13-alphanumericUniversally unique identifier (UUID) for a merchant that Clover assigns. The merchantId is required to complete the payment flow and must be preprogrammed on the device; otherwise, an error message appears indicating that the merchant number provided is invalid.
cardSymbolstring2-characterUsed to process the payment only if a card of the indicated brand is used. If a card from a different brand is used during payment processing, an error occurs, and the user can try another card to complete the payment.
cashbackAmountintegerLast two digits are reserved for the cents of
the amount
Indicates the amount of extra cash the customer wants to receive, which is added to the total payment amount. To use this functionality, the merchant must enable the cashback option from the Merchant Dashboard, and the transaction must use a payment method that supports cashback.
businessIDstring8-digitRequired for Non-Bank Networks payments. Indicates the number assigned to the collection agent that is part of the Visa program.
dynamicMerchantNamestringRecommended format:
[extrabankName]*[subMerchantName]
Required for Non-Bank Networks payments. Indicates the name or description of the collection agent.
subMerchantobjectRequired for PFAC payments (Payment
Facilitators). Defined with the following properties:
merchantIDstringUnique identifier of the client merchant
capturing the transaction.
mccstring4-digitMerchant Category Code.

- 6051 for Mastercard transactions.

- 4829 for Visa transactions.
legalNamestringLegal name or business name of the client
merchant.
addressobjectIndicates the legal address of the client merchant,
with the following properties:
address 1stringMain street address.
zipstringZIP or postal code.
citystringCity.
countrystring3-charaterCountry.
documentobjectIndicates the CUIT (tax ID) details of the client
merchant, with the following properties:
typestringIndicates the document type. Use
SINGLE_TAX_IDENTIFICATION for CUIT.
Note: CUIT (Clave Única de Identificación Tributaria) is the unique tax identification code in Argentina, used to identify individuals, businesses, and entities for all tax-related matters.
numberstring11-digitIndicates the CUIT number.

Learn more

To learn about the payment parameters for integrations with the Android SDK, see RegionalExtras on GitHub.


Sample: Skip Argentina payment flow screens

The following displays a SaleRequest that uses the SDK-provided values for FISCAL_INVOICE_NUMBER_KEY and INSTALLMENT_NUMBER_KEYto skip both the fiscal invoice and installment screens:

private saleRequest setupSaleRequest() {
  SaleRequest saleRequest = new SaleRequest();
  saleRequest.setExternalId(ExternalIdUtils.generateNewID()); //required
  Map<String, String> extras = new HashMap<>();
  extras.put(RegionalExtras.FISCAL_INVOICE_NUMBER_KEY, RegionalExtras.SKIP_FISCAL_INVOICE_NUMBER_SCREEN_VALUE);
  extras.put(RegionalExtras.INSTALLMENT_NUMBER_KEY, RegionalExtras.INSTALLMENT_NUMBER_DEFAULT_VALUE);
  saleRequest.setRegionalExtras(extras);
}

Multicurrency flows for Argentina

In the context of the bimonetary scheme with Clover in Argentina, transactions are conducted in two currencies—Argentine Pesos (ARS) and US Dollars (USD). This feature allows merchants and customers to make payments in their preferred currency, providing a more flexible experience tailored to the regional market's needs.

Merchants have the option to choose the currency for each sale. If a customer opts to pay in US Dollars (USD), the transaction is processed in that currency. The system displays the corresponding amount on the receipt and in sales reports. This helps merchants to understand the cash flow and to effectively track their sales and cash receipts in each currency.

Sample: Multicurrency payment flows

The following are examples of a SaleRequest to select the currency (ARS or USD) in the payment flow based on the SDK. The parameter names are constants defined in the RegionalExtras class.

Android (Java)

SaleRequest request = new SaleRequest();
 HashMap<String, String> extras = new HashMap<String, String>();
 extras.put("com.clover.regionalextras.EXTRA_CURRENCY", "USD");
 request.setRegionalExtras(extras);

Node.js

const saleRequest = new clover.remotepay.SaleRequest();
let extras = {};
let regionalExtras = new clover.payments.RegionalExtras();

extras[regionalExtras.getFISCALINVOICENUMBERKEY()] = "1234-12345678";
extras[regionalExtras.getINSTALLMENTNUMBERKEY()] = "1";
extras["com.clover.regionalextras.EXTRA_CURRENCY"] = "USD";

saleRequest.setRegionalExtras(extras);
cloverConnector.sale(saleRequest);

.NET

SaleRequest request = new SaleRequest();
request.RegionalExtras.put("com.clover.regionalextras.EXTRA_CURRENCY", "USD");

REST API

{
  "regionalExtras": {
    "currency": "USD",
    "argentina": {
      "invoiceNumber": "2024-11061313",
      "numInstallments": "12"
    }
  }
}