Skip to main content

Multiple partial refunds

Overview

2Checkout supports multiple partial refunds for the same order. This feature enables you to partially reimburse order costs on multiple occasions to deal with more than one refund incident/dispute.

Scenarios

  • Pay back the money for a single product in a multi-offering order, and then refund the costs of another product, if the customer requests it;
  • Refund part of the value of an order such as in scenarios in which you charge customers for usage, and add a subsequent partial refund if needed;
  • Refund the total value of an order using several partial refunds until the entire costs are reimbursed.

Requirements

Multiple refunds work only for orders paid with one of the following methods:

  • VISA
  • MasterCard
  • Discover
  • AMEX
  • PayPal

Please contact 2Checkout directly if this feature is not available for your account.

Availability

  1. You can place a second partial refund only if there are no existing unprocessed refunds (pending). As long as all previous partial refunds for an order were processed, you can place a new request to reimburse a partial amount of the costs paid by the customer.
  2. The value of the partial refund you request needs to be equal or smaller than the amount of money paid by the customer, subtracting any costs already reimbursed. For example: for a $100 order for which you already reimbursed $40, the value of the second partial refund request cannot exceed $60.

Partial refunds

In addition to Total refunds (which return 100% of the transaction amount to the buyer) you can also issue Partial refunds, namely reimburse only part of the transaction amount paid for Completed/Finished orders, with the system automatically calculating the taxes for the repayment. This feature gives you full flexibility to control in detail the reimbursement parameters for an order. The new Partial refund functionality is an upgrade to the old Advanced refund option, which required you to specify all the details of a partial reimbursement in the comments section.

To initiate a Partial refund, follow the steps below.

  1. Go to Orders & customers -> Order search.
  2. Select the eStore orders tab.
  3. Search for the order you want to reimburse (the status must be Completed/Finished).
  4. Click the item's reference number.
  5. Click Request refund.
  6. Choose to return only a part of the transaction costs by selecting the Partial refund option.

Use the feature to provide refunds for a limited quantity of products or only for specific items in an order in scenarios involving orders containing multiple units/products. The repayment amount per unit (including taxes) supports values from the bare minimum, which cannot be 0 or a negative number, to the maximum, which cannot be larger than the price paid for the product/number of products being refunded.

You can repay part of the money your customers spent on product subscriptions and taxes (calculated automatically by the system), Backup Media and DIS (Download Insurance Service) costs. Use the comments section to detail special refund requests.

Note: Make sure to configure all the details of the partial reimbursement, including the products and the number of units involved, but also the amount to be refunded, whether or not to re-use keycodes / cancel subscriptions (disable licenses), and enter the Cancellation reason or any other comments for the cancellation before clicking the Request refund button. Prior to the introduction of Partial refunds, your customer support representatives could only disable allsubscriptions/licenses for a refunded order, or none at all.

Please note that the amount you set for the refund will be the final sum sent back to the customer, including taxes.

Multiple partial refunds

To refund an order follow these steps:

  1. Go to Orders & customers -> Order Search
  2. Search for the order you want to refund. Note: The order needs to be Finished for a refund to be processed.
  3. Click the reference number to access the Order details page.
  4. Click Request refund.
  5. Select Partial refund and provide the parameters for the reimbursement including the costs which will be returned to the customer.
  6. Wait for the refund to be approved and the money to be reimbursed.
  7. After the refund request is processed, repeat steps 1 through 5 to request an additional reimbursement.

Instant Payment Notification (IPN) for refunds

Instant Payment Notifications are generated and sent for the first partial refund as well as for subsequent refunds processed by the 2Checkout system.

Make sure to update your system to handle multiple IPN notifications in scenarios involving multiple refunds.

Notifications sent by 2Checkout will show REFUND as the order status and the amount of money reimbursed (as a negative number).

Multiple partial refunds through Instant Refund Notification IRN

You can place multiple partial refunds through Instant Refund Notification (IRN). It's mandatory that you specify the value that will be reimbursed using the AMOUNT for partial refunds. Note: In the case of IRN refunds, the value for AMOUNT must match that of the unit price multiplied with the quantity refunded.

For example, if a customer purchased 10 units of Subscription A which cost $99 each, and wants a refund for 2 subscriptions, you to match the value refunded ($198) with the unit price of Subscription A multiplied by the quantity for which you're reimbursing the customer.

Total refunds

Total refunds are available only for orders that haven't passed through the refund process previously.

Total refund limitations:

  • Only a single total refund can be approved per order. A second total refund means that 2Checkout would repay the customer twice the sum of money paid for the order, which is impossible.
  • If a partial refund was already approved, and the money returned to the customer, a subsequent total refund is no longer possible, considering that the value of the order and implicitly of the total refund would exceed the money paid by the customer initially, from which at least a partial refund was already subtracted.

Add coupon

Overview

Use the addPromotionCoupon method to add single or multiple coupons to a promotion.

Parameters

Parameter Type/Description

sessionID

Required (string)

 

Output of the Login method.

promotionCode

Required (string)

 

The code corresponding to the promotion that you want to add coupons to.

promotionCoupon

Required (object)

 

type

Required (string)

 

 

Coupon type. Available values:

  • SINGLE, use in conjunction with Code
  • MULTIPLE, use in conjunction with Codes

 

Code/Codes

Required (string / array of strings)

 

 

Coupon code (for SINGLE) or array of coupon codes (for MULTIPLE).

Response

Parameter Type/Description
promotionCoupon Object

Request

<?php

require ('PATH_TO_AUTH');

// Promotion code corresponding to the promotion you want to add coupons to
$promotionCode = '';

// Define single coupon object
$promotionCoupon = new stdClass;
$promotionCoupon->Type = 'SINGLE';
$promotionCoupon->Code = 'YOUR_CODE_HERE';

// Define multiple coupon object
$promotionCoupon = new stdClass;
$promotionCoupon->Type = 'MULTIPLE';
$promotionCoupon->Codes = ['YOUR_CODE_1', 'YOUR_CODE_2'];

try {
    $updatedPromotion = $client->addPromotionCoupon ($sessionID, $promotionCode, $promotionCoupon);
}

catch (SoapFault $e) {
    echo "UpdatedPromotion: " . $e->getMessage();
    exit;
}

var_dump("UpdatedPromotion", $updatedPromotion);

Proposal microservice

Overview

Use the Proposal object via SOAP API 6.0 to store cart information at a point in time that allows you afterward to operate fast changes to the cart configuration so that you can offer custom deals to your shoppers. By using the Proposal object you can create, update, and search proposals via the 2Checkout API and control the following proposal attributes:

  • Proposal content
  • Price options
  • Proposal links
  • Billing details

Parameters 

Use the parameters below to add new custom deals for your shoppers via SOAP API 6.0.

PROPOSAL OBJECT

Parameters Type  Required/Optional Description

proposalId

String

Required

The unique merchant proposal id generated by the 2Checkout system.

name

String

Required (create)

The name of the proposal.

version

Integer

Required

The version of the proposal. Every modification increments the version by 1.

createDate

String

Required

The UTC creation date for the proposal in ISO 8601 format. Example: 2020-01-05T17:21:42+00:00.

updateDate

String

 Required

The update date of the proposal; date-time ISO 8601 format; populated by the UserId.

createdBy

String

 Required

The unique external system user identifier of the user that created the proposal. Example: john.doe@customer.com.

updatedBy

String

 Required

The unique external system user identifier of the user that last updated the proposal. Example: john.doe@customer.com.

locked

Boolean

 Required

Signals if the proposal is locked or not for updates in order to restrict modifications.

Possible values:

  • True
  • False

source

String, enum

 Required

The source from where the proposal was created. Can be: [ MERCHANT_CPANEL, MERCHANT_API, QUOTE_INTERFACE, SALESFORCE_CPQ ].

content

Object (ProposalContent)

Required (create)

The content of the proposal.

billTo

Object (BillTo)

Required (create)

The billing details associated with the proposal.

tac

Object (tac)

Required

Terms and conditions applied to the proposal.

type

String, enum

Required (create)

The type of proposal that defines the way it will be processed onwards; Can be [amendment, acquisition].

sentBy

Object (sentBy)

 Optional

Represents the account manager of the merchant.

links

Object (links)

 Required

The proposal links details.

status

String, enum

 Required

The status of the proposal; can be [ opened, sent, in_review, reviewed, closed_won, closed_lost, declined, expired, accepted ].

statusComment

String

 Required

Free text comments that can accompany a status.

expirationDate

String

 Optional

The date at which the proposal expires; date-time ISO 8601 format.

sellTo

Object (sellTo)

Required (create)

Represents the entity using the service. Used for tax calculation.

terms Int Optional Can be NULL.

ProposalContent Object

Parameters Type Required Description

language

String

Required (create)

The ISO 639-1 language code used to display the content of the proposal.

currency

String

Required

The ISO 4217 currency code used to display the product and order values.

lineItems

Array of objects (lineItem)

Required

The list of products & associated custom values for the proposal.

LineItem Object

Parameters Type Required/Optional Description

productName

String

Required

Name of the product.

productCode

String Required

2Checkout product code.

quantity

Float

Required

The quantity of the product.

price

Float Required

The list price of the product.

discountPrice

Float Required

The discounted price of the product.

priceType

String, enum

Required

The price type, can be gross or net.

subscriptionReference

String

Optional

The subscription reference for upgrade of renewal.

contractPeriod

Integer

Required

The number of billing cycles. A zero value means a lifetime contract period and billingCycle is not needed in this case.

immediateAction

String

 Optional

Defines if the contract starts now or at the end of the current billing cycle or contract period [ now, end_of_billing_cycle, end_of_contract ].

billingCycle

Object (billingCycle)

 Optional

The billing cycle configuration.

priceOptions

Array of priceOption objects

 Optional

Array of selected price options.

additionalFields

Array of additionalField object

 Optional

Array of Product additional fields.

prorationDate String Optional ISO8601 format with UTC timezone.
BillingCycle Object
Parameters Type Required/Optional Description

unit

String, enum

Required

The unit for the billing cycle can be [day, month].

value

Integer

Required

The number of days or months. The minimum for a day unit is 7.
 

PriceOptions - Array of priceOption objects
Parameters Type Required/Optional Description

groupCode

String

 Required

The price options group code.

groupOptions

Array of strings

 Required

Selected group option code.

AdditionalFields - Array of additionalField Object
Parameters Type Required/Optional Description

code

String

  Required

The alpha-numeric characters, underscores, and dashes that are set as the field identifier.

value

String

  Required

Selected field value.

BillTo Object

Parameters Type Required/Optional Description

company

String Required

End-user company name.

email

String Required

Contact email address.

phone

String Required

Contact phone number.

country

String Required

The country for the address. Represents the country code as specified by ISO 3166-1 alpha-2. Example: 1849 Cardinal Lane.

state

String Required

The country state for the address.

city

String Required

The city for the address.

zip

String Required

The address zip code.

address

String Required

The street address.

tac Object

Parameters Type Required/Optional Description

content

String

Required

The terms and conditions of the proposal.

acceptedDate

String

Optional

The UTC date when the proposal terms and conditions were accepted in ISO 8601 format. Example: 2020-01-05T17:21:42+00:00.

SentBy Object

Parameters Type Required/Optional Description

firstName

String Required

The first name of the email sender.

lastName

String Required

The last name of the email sender.

email

String Required

The email address of the email sender.

Links Object

Parameters Type Required/Optional Description

linkId 

String Required

The unique link id.

url

String Required

The link URL for viewing.

status

String, enum

Required

The status of the proposal. Default: opened.

pdf String Required The link URL for downloading the PDF.

SellTo Object

Parameters Type Required/Optional Description

company

String

Required

End-user company name.

email

String Required

Contact email address.

vatCode

String Optional

For companies, it needs to be the VAT ID. 

phone

String Required

Contact phone number.

country

String Required

The country for the address. Represents the country code as specified by ISO 3166-1 alpha-2.

state

String Required

The country state for the address.

city

String Required

The city for the address.

zip

String Required

The address zip code.

address

String Required

The street address.

taxExemptionId String Optional The tax exemption ID code.

ERRORS

Parameters Type Description

code

Integer

Internal error code.

detail

String

The details of the error associated with the code.

status

Integer

HTTP error code.

 

 

Voluntary Churn Prevention

Overview

Voluntary churn happens when a customer decides to end the relationship and stops using your product or downgrades from a paid version. Preventing voluntary churn requires the right combination of product engagement, customer experience, and perceived value. If customers don’t use your product often, don’t have a good experience when they do, or don’t see value in your product, they won’t stick with you. This holds true whether you’re talking about free trial users considering a paid upgrade or paying customers deciding whether to renew.

2Checkout's retention tools help you reduce customer churn and gain useful insights into what drives customers to cancel automatic renewals. Use 2Checkout's out-of-the-box retention capabilities to:

  • Leverage proactive subscription enrollment to increase renewals and generate additional revenue. Use special deals to deepen loyalty and incentivize your customers to enroll in automatic subscription renewals.
  • Decrease churn and prevent recurring revenue from "leaking" by converting cancelations into continued subscriptions. Offer the right incentives to the customers that decided to cancel their subscriptions and make them change their minds at the point of exit.
  • Turn threats into opportunities by capturing your customers' feedback at the point of cancelation.

Voluntary Churn Prevention Tools 

Reduce voluntary churn and revenue spillage and uplift your revenues by up to 10% by using 2Checkout's Voluntary Churn Prevention tools. 

  • Offer discounts during the churning process to entice price-sensitive subscribers to stay. Activate a churn prevention campaign, and make discounts attractive enough to make a difference.  

  • Offer subscribers the option to pause their subscriptions instead and then have these automatically resume at a specific date without reacquisition costs, using the pauseSubscription API.  

  • Extend the subscription duration and ask subscribers to re-enable automatic renewal right after they cancel it, to minimize the chances of them churning.  

  • Allow subscribers to downgrade to plans not as rich in functionality but which are also cheaper using custom downgrade links.  

COVID-19 Resources for 2Checkout Merchants

2Checkout always strives to help merchants and their businesses thrive and in the current context of the COVID-19 pandemic, we've put up a collection of resources that can help you maintain a steady profit and not lose customers during this challenging period. 

2Checkout's retention tools introduce a smart and easy way to reduce customer churn and gain useful insights into what drives customers to cancel automatic renewals. Use 2Checkout's out-of-the-box retention capabilities to:

  • Leverage proactive subscription enrollment to increase renewals and generate additional revenue. Use special deals to deepen loyalty and incentivize your customers to enroll in automatic subscription renewals.
  • Decrease churn and prevent recurring revenue from "leaking" by converting cancelations into continued subscriptions. Offer the right incentives to the customers that decided to cancel their subscriptions and make them change their minds at the point of exit.
  • Turn threats into opportunities by capturing your customers' feedback at the point of cancelation.

 

 

WeChat Pay

Overview

WeChat Pay is an online payment method that allows shoppers in China and Hong Kong to send payments through the WeChat social media mobile application. Every WeChat user has their own WeChat Payment account, in which they can acquire balance by linking their WeChat account to their debit card. With an increasing market share in China and Southeast Asia, WeChat Pay offers customers an easy-to-use and reliable payment method.

 

Related links

Availability

Available on 2Monetize accounts.

Requirements

Shoppers must have the WeChat application installed on their Android or iOS devices.

Supported currencies

  • CNY
  • USD
  • HKD

Benefits

WeChat Pay enhances the checkout experience through multiple optimizations:

  • Convenient, easy and safe. Simplified purchase flow designed for mobile payments and safe storage for cards used within the wallet.
  • Increased market share. Used by hundreds of millions of users every day, WeChat Pay is one of the most popular payment methods in China.
  • Higher conversion rates. Convert more Chinese visitors into buyers.

Activation steps

Go to Payment methods and enable WeChat Pay.

Purchase flow

  1. Shoppers select China or Hong Kong in the shopping cart.
  2. They place the order.
  3. 2Checkout redirects shoppers to WeChat.
  4. WeChat displays the QR code that shoppers need to scan.
  5. Shoppers use their WeChat application to scan the QR code.
  6. 2Checkout marks the order as Pending until shoppers place the order.
  7. Shoppers place the order and the WeChat application confirms the payment.
  8. 2Checkout marks the order as complete as soon as WeChat sends back an Instant Payment Notification.
  9. Shoppers receive the Payment receipt and Electronic delivery emails from 2Checkout.

Note: You can configure unfinished payment follow-up emails from the Control Panel.

Type of charges

WeChat Pay does not support recurring transactions, so subscription renewals can only be done manually.

Refunds

WeChat supports order refunds.

REST 3.0 Reference

Overview

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

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 Avangate supplied merchant code.
  • REQUEST_DATE_TIME: The UTC date-time of the request. Format: YYYY-MM-DD HH:MM:SS.
  • 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

Responses follow HTTP specifications regarding response headers. Successful responses are composed of:

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

Resources

Please visit https://github.com/avangate.

Working code samples for REST are available for each documented scenario and method. To access code samples, select any scenario and click on the "Working example" link. You can use:

  • cURL
  • Java
  • JavaScript
  • Node.js
  • Perl
  • Python
  • PHP
  • Ruby
  • Go
  • C#
  • Visual Basic
  • Groovy
  • Objective-C
  • Swift

Best practices

One-click (1 click) subscription renewal

2Checkout supports 1-click manual subscription renewals for returning customers who paid for their previous orders with Credit/Debit cards.

In this scenario, you can facilitate subscription renewals for subscribers who opted out of auto-renewal (recurring billing).

How does this work?

  • Identify returning customers.
  • Generate the manual renewal link.
  • Create a tokenized manual subscription renewal link and serve it to the returning customer.
  • Customers using the link land a hosted shopping cart choose one of the credit cards they previously used for purchases from your account/store and place the order.

Availability

Contact 2Checkout to start using one-click (1-click) subscription renewals.

Requirements

  1. Make sure that the subscription is eligible:

    • Status needs to be Active or Past Due
    • Subscription cannot be evergreen​
  2. The email address must match that from the initial order. If shoppers change the email they need to re-enter the payment details.

    • Identify returning customers.
    • Generate the manual renewal link.
    • Create a tokenized manual subscription renewal link and serve it to the returning customer.
    • Customers using the link land a hosted shopping cart choose one of the credit cards they previously used for purchases from your account/store and place the order.

Detailed 1-click subscription renewal flow

  1. Identify returning customers

    You particularly need either the 2Checkout customer reference or the external customer reference you control.

  2. Use customer information

    If customers log into your system and you’ve mapped unique identifiers into the 2Checkout platform you can easily extract their subscription information.

  3. Use subscription information

    You can also use subscription information to extract customer references, based on a set of filters. Validate the status of the subscription (needs to be Active or Past Due).

    • Customer email
    • Delivered codes/activation keys
    • Avangate customer reference
    • External customer reference
    • Subscription status
    • Recurring billing status
    • Product code
    • Customer country
    • Purchased date
    • Expiration/Renewal deadline
    • Subscription type
  4. Create the manual renewal link

    Retrieve information regarding subscription renewals based on 2Checkout Subscription References:

    • Information on the automatic renewal (recurring billing) status (enabled or disabled).
    • The link that customers access to renew the subscription through a manual payment.
  5. Attach the payment token to the manual renewal link

    2Checkout attaches a unique token to links, designed to identify the returning shoppers and support the automatic extraction of payment data and billing information from the 2Checkout system.

REST API 3.0 Blueprints for Download

 

REST 3.0 Blueprints (.zip) Legacy%20REST%20API%203.0%20blueprints_0.zip

 

Affiliate newsletter module

Overview

The 2Checkout Newsletter module supports sending plain text as well as HTML email messages to your affiliates.

Keep in touch with your affiliates. Provide them with information about new products, launches and important features that are worth promoting via newsletters. Also, send tips to affiliates and share your sales know-how with them. Through the 2Checkout Newsletter module, you can create and manage newsletters for your affiliates and segment them based on location and approval date. For example, you can set up a monthly newsletter to send to the affiliates in your 2Checkout program. Add an incentive for affiliates to motivate them to sell your products.

Requirements

The 2Checkout Affiliate Network must be enabled for your account. Contact 2Checkout directly to start taking advantage of our affiliates.

Availability

Newsletters are subject to approval, following a review by an 2Checkout representative.

Use the 2Checkout Newsletter module to send out:

  1. Plain text emails
  2. HTML messages - engage customers on a deeper level with visually rich email experiences

Plain text newsletter

Here are the steps necessary to configure a plain text newsletter for your affiliates:

  1. Go to Affiliate Network -> Newsletter. The Affiliate Newsletter Management is designed to let you compose and manage newsletters for your affiliates.
  2. Scroll down to the Compose Newsletter area. Note: the Compose Newsletter area is available only in the absence of any pending newsletters. You'll be able to compose new messages after pending emails have been approved and sent out or after they're rejected by an 2Checkout representative.
  3. Select the affiliates you want to receive the newsletter. You can filter them by multiple criteria. Note: Filters are available only if your affiliates supplied the details in the Account information area of their accounts.
    • Affiliate country - affiliate business country.
    • Type
      • Content & Reviews
      • Coupons/ Discounts
      • Loyalty/ Cashback
      • Email marketing
      • Search Engine Marketing
      • Social Media
      • Display/ Retargeting
      • VAR/ Reseller
    • Approval date - the date when affiliates joined your program.
    • Supported languages - The languages supported by affiliates for their referrals.
    • Geographic target - Markets that generate sales for your affiliates. The 2Checkout system fills in this field automatically and shares the info with you once affiliates request to join your program. 
  4. Enter a new email subject or edit the one automatically generated.
  5. Do not check the checkbox next to the Send HTML newsletter option.
  6. Provide the message in the Text newsletter body field. The email will be sent in text format only. HTML tags are not allowed.
  7. Upload an image to be attached to the newsletter.
  8. Click Preview to view a draft of your plain text newsletter before submitting it for approval. Approval and distribution usually takes less than two (2) working days.
  9. Click Save newsletter to submit the message for approval. Affiliate Newsletters must be approved manually by 2Checkout.

HTML newsletter

Here are the steps necessary to configure a HTML newsletter for your affiliates:

  1. Go to Affiliate Network -> NewsletterThe Affiliate Newsletter Management is designed to let you compose and manage newsletters for your affiliates.
  2. Scroll down to the Compose Newsletter area. Note: the Compose Newsletter area is available only in the absence of any pending newsletters. You'll be able to compose new messages after pending emails have been approved and sent out or after they're rejected by an 2Checkout representative.
  3. Select the affiliates who will receive the newsletter. You can filter them by multiple criteria. Note: Filters are available only if your affiliates supplied the details in the Account information area of their accounts.
    • Affiliate country - affiliate business country.
    • Type
      • Content & Reviews
      • Coupons/ Discounts
      • Loyalty/ Cashback
      • Email marketing
      • Search Engine Marketing
      • Social Media
      • Display/ Retargeting
      • VAR/ Reseller
    • Approval date - the date when affiliates joined your program.
    • Supported languages - The languages supported by affiliates for their referrals.
    • Geographic target - Markets that generate sales for your affiliates. The 2Checkout system fills in this field automatically and shares the info with you once affiliates request to join your program.
  4. Enter a new email subject or edit the one automatically generated.
  5. Check the checkbox next to the Send HTML newsletter option and select the HTML tab.
  6. Provide the message in the HTML newsletter body field. The email will be sent in HTML format. HTML tags are allowed.
  7. Optional: You can also configure a plain text message in concert to the HTML newsletter by providing the message in the Text newsletter body field. Following approval of your newsletter, the 2Checkout system will send out both the plain text and the HTML versions of the newsletter in parallel. Recipients using email clients featuring HTML support will receive the HTML message, while those with email clients lacking HTML support will receive the plain text messages.
  8. Upload an image to be attached to the newsletter.
  9. With the HTML tab selected click Preview to view a draft of your HTML newsletter before submitting it for approval. Approval and distribution usually takes less than two (2) working days.
  10. Click Save newsletter to submit the message for approval. Affiliate Newsletters must be approved manually by 2Checkout.

Technologies used

Custom Affiliate Newsletters can be built using primarily HTML and CSS (inline). It's less recommended to include JavaScript since the messages need to be tailored to email clients, which tend not to support JS properly.

Affiliate newsletter metrics

As of November 17th, 2015, 2Checkout tracks the newsletters you send so that you can evaluate their performance. Tracking is not available for newsletters sent prior to November 17th, 2015.

Click View Details on a sent newsletter to see metrics related to delivery, bounce, open and click rates. Important: Open rate tracking only works when the following 2 criteria are met:

  • You send the email in HTML format
  • The recipient's email client is able to display images. 2Checkout uses a pixel tracking technology in order to identify opened emails.

2Checkout tracks the following metrics:

  • Recipients - the number of affiliates that you have sent the newsletter to
  • Delivered - the number of newsletters that have reached the recipients' mail servers
  • Bounces - the number of both temporarily and permanently delivery failures. This usually occurs when a recipient's mail server rejects a newsletter. The most common reasons for bounced emails include misspelled email addresses or full recipient mailboxes. 2Checkout marks bounces that return a permanent error message as hard bounces and drops future messages sent to these recipients from the very beginning.
  • Opens - the total number of times recipients have opened an HTML email
    • Unique opens - the number of unique recipients that have opened the HTML email
  • Clicks - the total number of URL clicks inside an email
    • Unique clicks - the number of unique recipients that have clicked links inside an email

REST 4.0 Reference

Overview

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

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}"

Alternativelly, 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

Responses follow HTTP specifications regarding response headers. Successful responses are composed of:

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

REST API 4.0 Blueprints for Download

 

REST 4.0 Blueprints (.zip) LegacyRESTAPI4Blueprints.zip

 

Next renewal price

Overview

Retrieve the costs of the next subscription renewal.

Attributes

Parameters Type/Description

NetPrice

Double

 

Price without taxes

NetCurrency

String

 

Currency for the price without taxes. The currency ISO code used for the payment - ISO 4217.

FinalPrice

Double

 

Price with taxes

FinalCurrency

String

 

Currency used for prices with taxes. The currency ISO code used for the payment - ISO 4217.

 

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