Additional Features

Mexico

It is important to mention that if you require any of these services, you should contact to Fiserv integrations team so that the service is added at the time of store generation.

MSI Sales (Installments)

To make a sale with installments, it is practically the same as a Direct Sale with the difference that we will add two additional parameters to our HTML form which must be considered when generating the hash.

The form below represents a sale of $100.00 MXN that is taking place on January 02, 2020 at 12:51:05 PM that is being made on the store with ID 399000002.

Additionally, two parameters were added: numberOfInstallments, which represent the number of months to be paid and installmentsInterest which indicates whether interest will be applied, we will always use the value of "false".

      <form method="POST"  action="https://test.ipg-online.com/connect/gateway/processing">
        <input type="hidden" name="chargetotal" value="100.00" />
        <input type="hidden" name="checkoutoption" value="combinedpage" />
        <input type="hidden" name="currency" value="484" />
        <input type="hidden" name="hash_algorithm" value="HMACSHA256" />
        <input type="hidden" name="hashExtended"
value="EapafBqqOF6N/kch8USkHPGh+fwSko24h6FpQnQHfQ8=" />
       <input type="hidden" name="installmentsInterest" value="false" />        <input type="hidden" name="numberOfInstallments" value="6" />
        <input type="hidden" name="responseFailURL" value="https://myurl.com/checkout/success" />
        <input type="hidden" name="responseSuccessURL" value="https://myurl.com/checkout/error" />
        <input type="hidden" name="storename" value="399000002" />
        <input type="hidden" name="timezone" value="America/Mexico_City" />
        <input type="hidden" name="txndatetime" value="2020:01:02-12:51:05" />
        <input type="hidden" name="txntype" value="sale" />
</form>

Tokenization

      <form method="POST"  action="https://test.ipg-online.com/connect/gateway/processing">
        <input type="hidden" name="assignToken" value="true" />
        <input type="hidden" name="chargetotal" value="100.00" />
        <input type="hidden" name="checkoutoption" value="combinedpage" />
        <input type="hidden" name="currency" value="484" />
        <input type="hidden" name="hash_algorithm" value="HMACSHA256" />
        <input type="hidden" name="hashExtended"
value="EapafBqqOF6N/kch8USkHPGh+fwSko24h6FpQnQHfQ8=" />
        <input type="hidden" name="responseFailURL" value="https://myurl.com/checkout/success" />
        <input type="hidden" name="responseSuccessURL" value="https://myurl.com/checkout/error" />
        <input type="hidden" name="storename" value="399000002" />
        <input type="hidden" name="timezone" value="America/Mexico_City" />
        <input type="hidden" name="txndatetime" value="2020:01:02-12:51:05" />
        <input type="hidden" name="txntype" value="sale" />
</form>


Sale with Token

When sending the hosteddataid parameter with a previously generated token, the buyer will only be asked to enter the Security Code (CVV/CVV2) used for that payment method; in this way, the IPG Gateway will obtain the encrypted card data and process the transaction.

      <form method="POST"  action="https://test.ipg-online.com/connect/gateway/processing">
        <input type="hidden" name="chargetotal" value="100.00" />
        <input type="hidden" name="checkoutoption" value="combinedpage" />
        <input type="hidden" name="currency" value="484" />
        <input type="hidden" name="hash_algorithm" value="HMACSHA256" />
        <input type="hidden" name="hashExtended"
value="EapafBqqOF6N/kch8USkHPGh+fwSko24h6FpQnQHfQ8=" />         <input type="hidden" name="hosteddataid" value="TOKEN_TO_USE" />
        <input type="hidden" name="responseFailURL" value="https://myurl.com/checkout/success" />
        <input type="hidden" name="responseSuccessURL" value="https://myurl.com/checkout/error" />
        <input type="hidden" name="storename" value="399000002" />
        <input type="hidden" name="timezone" value="America/Mexico_City" />
        <input type="hidden" name="txndatetime" value="2020:01:02-12:51:05" />
        <input type="hidden" name="txntype" value="sale" />
</form>

Scheduled Recurring Charges

Through Connect it is also possible to schedule the same sale to be repeated automatically a finite number of times.
To do this, we will add additional parameters to our HTML form, which must be considered when generating the hash.

  1. recurringInstallmentCount: [Number] between 1 and 999. This is the number of times the sale will be repeated (including initial charge).
  2. recurringInstallmentPeriod: The allowed values are ["day", "week", "month", "year"] Indicates a time interval.
  3. recurringInstallmentFrequency: [Number] between 1 and 99. Indicates the number of intervals to wait between payments.
  4. ponumber: Unique contract number for recurrence up to 50 characters (letters and numbers).

The form below represents a sale of $100.00 MXN that is taking place on January 02, 2020 at 12:51:05 PM that is being made on the store with ID 399000002.

  • This charge will be automatically repeated 12 times (recurringInstallmentCount)
  • The time interval will be measured in months (recurringInstallmentPeriod).
  • Each charge will be made every 1 time interval (recurringInstallmentFrequency)
  • It is MANDATORY to send a contract number for the transaction in the ponumber parameter.
      <form method="POST"  action="https://test.ipg-online.com/connect/gateway/processing">
        <input type="hidden" name="chargetotal" value="100.00" />
        <input type="hidden" name="checkoutoption" value="combinedpage" />
        <input type="hidden" name="currency" value="484" />
        <input type="hidden" name="hash_algorithm" value="HMACSHA256" />
        <input type="hidden" name="hashExtended"
value="EapafBqqOF6N/kch8USkHPGh+fwSko24h6FpQnQHfQ8=" />
        <input type="hidden" name="ponumber" value="PO02220202" />
        <input type="hidden" name="recurringInstallmentCount" value="12" />
        <input type="hidden" name="recurringInstallmentPeriod" value="month" />
        <input type="hidden" name="recurringInstallmentFrequency" value="1" />
        <input type="hidden" name="recurringComments" value="Comentarios adicionales de la transacción" />
        <input type="hidden" name="responseFailURL" value="https://myurl.com/checkout/success" />
        <input type="hidden" name="responseSuccessURL" value="https://myurl.com/checkout/error" />
        <input type="hidden" name="storename" value="399000002" />
        <input type="hidden" name="timezone" value="America/Mexico_City" />
        <input type="hidden" name="txndatetime" value="2020:01:02-12:51:05" />
        <input type="hidden" name="txntype" value="sale" />
</form>


Recurring charges can be cancelled from the VT in Active Reports/Recurrences by identifying the oid or by making use of the REST API and identifying the ipgTransactionID that we get to the response.

Pre-authorization

A pre-authorization is a sale where the amount, instead of being deducted from the end customer's account, is withheld or frozen. This means that your customer will still be able to see the funds in their account, but it will not be possible for them to use them and this amount may appear in their bank statements as pending, in transit or some other similar status depending on the bank of their card.

To finalize a pre-authorization, you must generate the instruction through the Virtual Terminal (manually) or by giving the instruction through our API so that the final amount is discounted, so that you can receive the funds from the client. That is, confirm that the customer is charged or, on the contrary, request that it be cancelled.

In this case, the form is going to be exactly the same as the Direct Selling case. The only difference is that instead of using the input "txntype" with the value of "sale", we will use the value of "preauth".

Below is a form that represents a pre-authorization of $100.00 MXN that is being made on January 02, 2020 at 12:51:05 PM that is being made on the store with ID 399000002. At the end of the transaction, the buyer is redirected to the URLs specified in responseFailURL or responseSuccessURL.

     
<form method="POST"  action="https://test.ipg-online.com/connect/gateway/processing">
        <input type="hidden" name="chargetotal" value="100.00" />
        <input type="hidden" name="checkoutoption" value="combinedpage" />
        <input type="hidden" name="currency" value="484" />
        <input type="hidden" name="hash_algorithm" value="HMACSHA256" />
        <input type="hidden" name="hashExtended"
value="EapafBqqOF6N/kch8USkHPGh+fwSko24h6FpQnQHfQ8=" />
        <input type="hidden" name="responseFailURL" value="https://myurl.com/checkout/success" />
        <input type="hidden" name="responseSuccessURL" value="https://myurl.com/checkout/error" />
        <input type="hidden" name="storename" value="399000002" />
        <input type="hidden" name="timezone" value="America/Mexico_City" />
        <input type="hidden" name="txndatetime" value="2020:01:02-12:51:05" />
        <input type="hidden" name="txntype" value="preauth" />
</form>
 


Additional parameters

If we need to submit additional information along with our transaction, we may do so with "additional parameters". These will be key/value pairs where the values cannot exceed 100 characters, it is possible by following the following syntax:

customParam_key=value

Example:

<input type = "hidden" name="customParam_color" value="green">

Up to 10 additional parameters can be submitted. These can be seen both in the transaction detail in our VT, and in the response within our specified URLs.
It is important to mention that, if we are going to use these parameters, we must not forget to include them in the calculation of our hash.

Account breakdown by items

We can make the page show a breakdown by items. To do this, we'll add parameters with the following nomenclature:

"item" + [item number]

Up to 99 items can be added.

For the value of each item, we will separate the values with ";" in the following order:
Id the item; description; quantity; item_total_price; item_total_price; 0; 0

Example:

To add 2 items to display we would add the following parameters

<input type = "hidden" name="item1" value="1;Product1;1;100;100;0;0"> <input type = "hidden" name="item2" value="2;Product2;2;566;566;0;0">

This will allow the products to be deployed as follows: