Skip to main content

Instant Notification Service (INS)

Overview

You can use the Instant Notification Service (INS) to automate order management processes by accepting order information via web posts. The INS is a service that will post sets of parameters to any URL you specify. Each post represents a message containing all the information you need about a specific event (such as when a recurring order re-bills successfully).

How can I use INS?

Use INS to automate back-end functions, including but not limited to:

  • Creating end-user accounts
  • Providing access to acquired services
  • Fulfilling purchases
  • Tracking orders and customers
  • Engaging customers

How does INS work?

  1. Create one or multiple INS listener pages on your website. 
  2. Configure the INS settings of your 2Checkout account to point to the URLs of your default/preferred listener pages.
  3. Set up multiple URLs if you require more listener pages, such as in testing scenarios in which you don’t want to use your default INS listener. 
  4. 2Checkout sends webhook notifications to the endpoints you defined when shoppers acquire products/services from your online store. 2Checkout packages the content information and sends it using secure (HTTPS) POST, according to your INS settings.
  5. 2Checkout sends the INS parameters according to your setup from INS Settings. To customize the information available in the notifications, check the parameters from the INS settings page. Learn more about INS parameters here.
  6. 2Checkout uses a SHA2/SHA3 signature to validate the HTTPS POST. Calculate the signature using data sent and your 2Checkout account’s secret key, following the instructions included in this article.
  7. Your custom INS listener scripts consume the notifications and process the info received.
  8. Configure your INS listeners to output a read receipt confirmation on the listener page after receiving a valid INS message. This article includes guidance on how to generate the confirmation.
  9. In the absence of a confirmation from one of your INS listeners, 2Checkout will make 5 attempts to send notifications to that endpoint, according to the failure retry process.
  10. In the eventuality that 2Checkout fails to send INS or doesn’t receive a confirmation from your INS listener, it displays an error in your Control Panel, on the Dashboard.

Set up INS endpoints

  1. Login into your 2Checkout account.
  2. Navigate to INS settings under System settings.
  3. Click on Add endpoint to add a new URL configuration that will receive the notifications.
  4. Save your settings.

You can set up multiple endpoints for your INS notifications, for scenarios in which you have multiple Internal System that require to receive this information. You can add an unlimited number of endpoints that will receive notifications.

Debug INS

To view or debug INS notifications during the integration phase, place TEST orders.

Alternatively, search for specific orders in the Reports center menu and click on the API & Webhooks section. When you access the Instant Notification Service webhooks activity, you have the option to resend notifications. This action will help you retrieve the INS data already sent in case technical issues occurred and the set of parameters did not successfully reach the defined endpoints. 

You can resend notifications one by one (individual resend) or you can select multiple notifications that you want to resend via one single Resend action (bulk resend). Notifications selected for resend action will be included in the resend process, meaning that the resend action will not be performed instantly. In the resend process the initial set of parameters will be included, meaning the values will not be recalculated by the system. In the webhooks reports, resent notifications will be marked differently than the original/initial ones. The Resend action will consider only the original set of parameters, meaning that if you choose to resend both original and already resent notifications, the system will only consider the original set of parameters and only once a unique notification will be resent.

Secure your INS script

For security reasons, 2Checkout recommends that you restrict access to the INS script.

 

REST 5.0 Reference

Overview

Use the attached blueprints to integrate with the 2Checkout API via REST 5.0. 

Before you start using the 2Checkout API, make sure you are PCI DSS compliant. Find out more details about what PCI DSS compliance means and what you should do to be PCI compliant here.

Authentication

To authenticate to the 2Checkout REST API include a header with the following structure into your requests:

X-Avangate-Authentication: code="{VENDOR_CODE}" date="{REQUEST_DATE_TIME}" hash="{HASH}"

Alternatively, use:

X-Avangate-Authentication: code='{VENDOR_CODE}' date='{REQUEST_DATE_TIME}' hash='{HASH}'

  • VENDOR_CODE: Your unique 2Checkout supplied merchant code.
  • REQUEST_DATE_TIME: The UTC date-time of the request. Format: YYYY-MM-DD HH:MM:SS. You must provide the time of the request in the GMT timezone.
  • HASH: The hash mac digest with an md5 hashing algorithm of the following: LEN(VENDOR_CODE) + VENDOR_CODE + LEN(REQUEST_DATE_TIME) + REQUEST_DATE_TIME. Use the secret key associated with your account for the hashing.

You must authenticate for all requests.

JSON encoded requests

The 2Checkout REST API supports only JSON encoded requests and responses. You need to include the following headers in your requests:

  • Content-Type: application/json
  • Accept: application/json

Reponses follow HTTP specification regarding response headers. Successful responses are composed of:

  • An HTTP Success header.
  • A JSON encoded string.

REST API 5.0 Blueprints for Download

 

REST 5.0 Blueprints (.zip) LegacyRESTapi5blueprints.zip

NetBanking

Overview

NetBanking is a payment method that you can use to make manual payments using a bank transfer. Card payments and net banking have a combined 37% marking share.​

Shoppers in India can use NetBanking to make a manual payment if:

  • they have a billing address and bank account in India.
  • their purchase currency is Indian Rupee (INR).

​Availability

Supported countries: India.

Supported currencies: INR (Indian Rupee).

Benefits

NetBanking provides a convenient digital channel for various types of payments without visiting a branch.

Activate NetBanking

Contact your account representative and request the activation of NetBanking.

Shopper flow

  1. The shopper initiates an online purchase.
  2. Once the products for purchase are selected, the 2Checkout checkout page will be displayed.
  3. The shopper selects NetBanking as a payment method and continues the checkout process.
    netbanking
  4. Once the shopper selects the Place order button, they will be redirected to the NetBanking payment flow. After the shopper it redirected, they select the preferred bank and proceed accordingly.
  5. For most instances in India, additional authentication will be required.
    NetBanking 3DS
  6. Once all steps are completed, the Finish page is displayed, as the order is confirmed.
    Finish page

Geolocation

Overview

When detecting the shopper country through geolocation, 2Checkout sets the country's currency as billing currency. Refer to the table below to see the display currency and billing currency values when your payment methods do not support the country's currency.

Geolocation

Payment method supports country currency

Payment method does not support country currency

Enabled

Display currency = country currency

Display currency = country currency

Billing currency = country currency

Billing currency = default payment method currency

Retrieve a lead

Overview

Use the getLead method to retrieve leads created in the 2Checkout systems by fetching the lead code.

Request Parameters

Parameters Required Type/Description

LeadCode

Optional

String/Array of strings. Retrieves all leads based on their unique identification code (system-generated).

 

 

Email

Optional

String. A valid email address used by the customer

Type

Optional String. Must be one of the existing types of leads:
  • New
  • Used
  • UsedSuccess
  • Stopped
  • NotStopped

StartDate

Optional String. The start date of the interval; format must be yyyy-mm-dd.

EndDate

Optional String. The end date of the interval; format must be yyyy-mm-dd.

ProductCode 

Optional

String/Array of strings. Searches for all leads containing the product code.

Language

Optional String. The language of the shopper cart; ISO 639-1 two-letter code.

Country

Optional String. The customers billing country; ISO 3166 two-letter code.

GeneratedFrom 

Optional String. API, shopping cart, ConvertPlus. Display the leads based on the source where they were created – via API or via the 2Checkout ordering engines.

Request Example

<?php

require ('PATH_TO_AUTH');

try {
    $leadData = $client->getLead($sessionID, '60E6C4B574');
} catch (SoapFault $e) {
    echo "getLead: " . $e->getMessage();
    exit;
}

var_dump("getLead", $leadData);

Response Example

class stdClass#18 (14) {
  public $LeadCode =>
  string(10) "60E6C4B574"
  public $GeneratedFrom =>
  string(3) "API"
  public $CartId =>
  string(11) "CartIdValue"
  public $Currency =>
  string(3) "EUR"
  public $Language =>
  string(2) "BG"
  public $ExternalReference =>
  string(18) "REST_API_3CHECKOUT"
  public $MachineId =>
  string(6) "123asd"
  public $LocalTime =>
  string(19) "2019-11-05 16:48:28"
  public $Items =>
  class stdClass#19 (1) {
    public $0 =>
    class stdClass#20 (15) {
      public $Code =>
      string(10) "04C26C50F8"
      public $Quantity =>
      string(1) "2"
      public $SKU =>
      NULL
      public $Name =>
      string(5) "softy"
      public $Description =>
      NULL
      public $IsDynamic =>
      bool(false)
      public $Tangible =>
      bool(false)
      public $PurchaseType =>
      string(7) "PRODUCT"
      public $PriceOptions =>
      NULL
      public $RecurringOptions =>
      class stdClass#21 (5) {
        public $CycleLength =>
        NULL
        public $CycleUnit =>
        NULL
        public $CycleAmount =>
        NULL
        public $ContractLength =>
        NULL
        public $ContractUnit =>
        NULL
      }
      public $RenewalInformation =>
      class stdClass#22 (1) {
        public $SubscriptionReference =>
        NULL
      }
      public $MarketingCampaigns =>
      class stdClass#23 (3) {
        public $Type =>
        string(2) "23"
        public $ParentCode =>
        string(1) "m"
        public $CampaignCode =>
        string(2) "23"
      }
      public $Price =>
      class stdClass#24 (2) {
        public $Amount =>
        string(2) "20"
        public $Type =>
        string(6) "CUSTOM"
      }
      public $AdditionalFields =>
      NULL
      public $SubscriptionStartDate =>
      string(19) "2019-11-05 16:48:28"
    }
  }
  public $BillingDetails =>
  class stdClass#25 (12) {
    public $FirstName =>
    string(8) "Customer"
    public $LastName =>
    string(9) "2Checkout"
    public $Phone =>
    NULL
    public $Company =>
    NULL
    public $FiscalCode =>
    string(8) "32423423"
    public $Email =>
    string(22) "customer@2checkout.com"
    public $Address1 =>
    string(12) "Test Address"
    public $Address2 =>
    NULL
    public $City =>
    string(2) "LA"
    public $Zip =>
    string(5) "12345"
    public $CountryCode =>
    string(2) "RO"
    public $State =>
    string(2) "CA"
  }
  public $DeliveryDetails =>
  class stdClass#26 (12) {
    public $FirstName =>
    string(8) "Customer"
    public $LastName =>
    string(9) "2Checkout"
    public $Phone =>
    NULL
    public $Company =>
    NULL
    public $FiscalCode =>
    string(8) "32423423"
    public $Email =>
    string(22) "customer@2checkout.com"
    public $Address1 =>
    string(12) "Test Address"
    public $Address2 =>
    NULL
    public $City =>
    string(2) "LA"
    public $Zip =>
    string(5) "12345"
    public $CountryCode =>
    string(2) "RO"
    public $State =>
    string(2) "CA"
  }
  public $DeliveryInformation =>
  class stdClass#27 (1) {
    public $ShippingMethod =>
    class stdClass#28 (1) {
      public $Code =>
      string(5) "sdfsd"
    }
  }
  public $PaymentDetails =>
  class stdClass#29 (4) {
    public $Type =>
    string(2) "CC"
    public $Currency =>
    string(3) "EUR"
    public $PaymentMethod =>
    class stdClass#30 (2) {
      public $RecurringEnabled =>
      bool(false)
      public $CardPayment =>
      class stdClass#31 (1) {
        public $InstallmentsNumber =>
        string(2) "23"
      }
    }
    public $CustomerIP =>
    string(7) "1.2.3.4"
  }
  public $Promotions =>
  array(1) {
    [0] =>
    string(0) ""
  }
}

Payment receipt

Overview

2Checkout automatically sends out the payment receipt email to provide shoppers with confirmation and details of their payment.

As of July 13th, 2016, you can use a redesigned template complete with fresh content. The new template has replaced the previous payment receipt email, but any customization you have in place, either in terms of styling or content, continues to be available.

Availability

All 2Checkout accounts.

What is the purpose of this email?

2Checkout sends the payment receipt email for all successfully authorized transactions.

Email content

The email provides confirmation and detailed information on the content of the order placed by your shoppers and on the payment they performed:

  1. Payment receipt with information on the payment method, ordered products, quantities, unit prices, taxes, and total amount.
  2. Billing/Delivery Information.
  3. Cross-sell products (provided you have an active cross-sell campaign set to also be displayed in the payment receipt email).
  4. Technical and payment support contact details.

Sample

Payment Receipt Sample

Is this the only email my shoppers receive after placing an order?

2Checkout can send the payment receipt email either standalone or combined with the electronic delivery notification (in one single email).

Depending on your account's setup, for each order containing at least one product configured with 2Checkout delivery your shoppers can receive:

  • Default: One email containing both the payment receipt and the electronic delivery messages
  • Two email notifications: The payment receipt and the electronic delivery messages, separately
  • Three email notifications: An order confirmation email, plus the payment receipt and the electronic delivery messages, separately

Contact 2Checkout to change your default configuration if you find another setup better suited for your customers.

Preview and test email

Navigate to the Email template manager section to:

  • Preview and test current templates for emails sent to your shoppers
  • Customize the header and the footer sections by creating custom templates you can assign to your emails

Access the payment receipt email under the Order section.

Why don't I see the new template for this email?

The redesigned template for the payment receipt email has automatically replaced default templates.

If your preview of payment receipt email does not show the new template, you are most probably using a customized version that includes content and/or styling your company requested at a certain point in time.

You can compare the above sample to your current template and send us an email if you decide the new one suits your business needs better. We will work with you on the switch.

Next renewal price

Overview

Use the methods below to set or retrieve information related to the next renewal price to be charged on a customer's subscription.

 

Upgrade price

Overview

Retrieve the upgrade price for a subscription.

Attributes

Parameters

Type/Description

BillingPrice

Double

 

The price Avangate charges the customer, without taxes.

BillingGrossPrice

Double

 

The price Avangate charges the customer, including taxes.

BillingCurrency

String

 

The currency ISO code used for the payment - ISO 4217.

Quantity

Int

 

The mandatory quantity for the upgrade (you cannot make partial upgrades)

DisplayPrice

Double

 

Display price.

DisplayGrossPrice

Double

 

Display price before deductions.

DisplayCurrency

String

 

Display currency. ISO 4217 code.

Discount     Float
  Applied discounts
DiscountedProratedPrice Float
  Prorated net price for the upgrade with applied discounts
DiscountedProratedGrossPrice Float
  Prorated gross price for the upgrade with applied discounts
DiscountedBillingPrice Float
  Net billing price available for  the upgrade process with applied discounts
DiscountedBillingGrossPrice Float
  Gross billing price available for  the upgrade process with applied discounts
DisplayDiscount     Float
  Discount displayed for the upgrade process
DiscountedDisplayPrice Float
  Net display price available for the upgrade process with applied discounts
DiscountedDisplayGrossPrice Float
  Gross display price available for the upgrade process with applied discounts

 

Partner order fulfillment

Overview

Take advantage of the rich set of fulfillment options available in the 2Checkout platform when dealing with your partners if your business relies on electronic software distribution (ESD), Software as a Service (SaaS), or both. When configuring your products, you can leverage the same fulfillment options whether you're selling the offerings directly through your web store (via eStore) or to partners (via Channel Manager):

  • Fulfillment made through 2Checkout delivery - You can opt to have 2Checkout deal with all aspects related to the delivery of your products, such as serving binary keys and activation codes to your partners, their end users or both.
  • Fulfillment made by youStart subscription after fulfillment only works for products sold through eStore.
  • Fulfillment made immediately after payment confirmation - This option is used in scenarios in which you don't distribute activation keys to customers, but instead offer access to online services or subscriptions-based applications, to name a couple of examples.

Fulfillment status for partner orders

Review the fulfillment status for subscriptions sold to your partners by accessing order details.

Partner orders are not included in the Fulfillment Confirmations area of the Control Panel. To check the fulfillment status of subscriptions purchased by partners follow these steps:

  1. Go to Orders & customers -> Order search.
  2. Select the Partner orders tab.
  3. Search the order for which you'd like to check fulfillment status and click to edit it.
  4. Scroll down to the bottom of the partner order details screen, in the Attach end user information area.
  5. Click on the fields featuring product name and the system will display a table sporting the Fulfillment status column.

Fulfillment status possible values:

  1. Not fulfilled. Fulfillment is blocked due to various reasons including lack of payment/credit, missing reseller / end user details.
  2. Fulfilled. Fulfillment was finalized.
  3. Waiting for fulfillment confirmation. You need to confirm fulfillment.
  4. Fulfillment not required. No fulfillment confirmation is required.
  5. Fulfillment confirmed. Fulfillment has been confirmed.

Fulfillment made through 2Checkout delivery

2Checkout handles deliveries/fulfillments on your behalf, however, there are a number of extra steps that need to be taken in order to advance the order finalization process to this stage. Depending on the partner or partnership program configuration, you or your partner could be required to one or all of the following:

  • Attach end user information;
  • Attach reseller information;
  • Offer a credit limit or pay the partner invoice associated to this order.

Fulfillment made by you

You handle deliveries/fulfillment.

There could be a number of extra steps required to advance the order finalization process to this stage. Depending on the partner or partnership program configuration, you or your partner could be required to one or all of the following:

  • Attach end user information;
  • Attach reseller information;
  • Offer a credit limit or pay the partner invoice associated to this order.

Confirm fulfillment for partner orders

Provided that those steps required of those enumerated above have been dealt with, you still need to confirm delivery/fulfillment to finalize the order. To do so, follow these steps:

  1. Check the checkbox next to the subscription reference with the Waiting for fulfillment confirmation status.
  2. Click the drop down menu for the With selected option and select Confirm fulfillment.
  3. Click the Confirm fulfillment ;button.

Partner orders are not featured under the Fulfillment confirmations area in the Control Panel. You need to access each partner order details page to view or confirm fulfillment/delivery.

Activate subscription after fulfillment

Subscriptions can be generated with a start date in the future, matching the date when the order will be paid and fulfilled/delivered to your customer.

  1. Go to Dashboard > Partner management > Partners.

    Partner management

  2. For the needed partner click on Edit, then go to Commercial settings.

    Commercial settings

  3. Scroll down to the Delivery settings section. Select Delayed subscription start.

    Delayed subscription start

  4. The subscription activation will happen in 3 circumstances:
    • Automatically, if fulfilment is configured to be automatically done by 2Checkout after the order is confirmed. Only if Email codes to End users setting is enabled.
    • Manually from Merchant Control Panel.
      Go to Dashboard > Order & customers > Order search > Partner orders.
      • If only the Delayed subscription start option was enabled, click on the needed order, select the subscription(s), choose the Activate subscription option, select the date and click on Save.
        Activate subscription
      • If the Automatically activate subscription after codes delivery option was enabled too, click on the needed order, select the subscription(s) and choose the Confirm delivery option.
    • Manually from Partner Control Panel.
      • Go to Dashboard > Orders > All orders. View the needed order, select the subscription reference, choose the Activate subscription option, select a future date or leave the Now option and then click on Save.
        Partner Control Panel

Fulfillment made immediately after payment confirmation

You do not need to confirm fulfillment. The 2Checkout system will finalize this order without requiring fulfillment/delivery confirmation.

There could be a number of extra steps required to advance the order finalization process to this stage. Depending on the partner or partnership program configuration, you or your partner could be required to one or all of the following:

  • Attach end user information;
  • Attach reseller information;
  • Offer a credit limit or pay the partner invoice associated to this order.

Lead management

Overview

2Checkout's lead management is a smart and simple way to reduce customer churn and get useful insights into what drives customers to cancel automatic renewals. Use the Lead object to configure lead management campaigns via SOAP API 6.0 to reduce unfinished payments and cart abandonment.

You can use lead management to:

  • run a report on unfinished payments;
  • send abandoned shopping cart follow-up emails;
  • request invoices.

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo