XML API

XML API integration is ideal for businesses that want to:

  • Completely control the checkout process.

  • Directly integrate with Converge.

  • Collect payment data using their own servers and pass that information to Converge for processing.

error_outline

important

In XML API, Converge cannot collect additional data when the request has been sent. As such, include all the appropriate and required data in the transaction request before sending it for processing.

error_outline

note

Support for GET Method is deprecated and should not be used to post transaction requests to Converge.

This table provides an overview of the XML API integration method:

Ease of Integration Hard
PCI DSS Self-Assessment Questionnaire (SAQ) Type SAQ D
Customization Extensive
Most Suited for These Market Segments

Retail

Restaurant/Service

Mail Order / Telephone Order

eCommerce

Most Applicable To These Transactions

Card Present – Hand-Keyed Transactions

Card Present – Swiped Transactions

Card Present – EMV Transactions

Card Not Present – eCommerce Transactions

Card Not Present – Back Office/MOTO Transactions

error_outline

note

For card-present transactons, we strongly recommend reviewing the capabilities of CommerceSDK before starting a direct integration with Converge.

Demo Endpoint:  https://api.demo.convergepay.com/VirtualMerchantDemo/processxml.do

Production Endpoint:  https://api.convergepay.com/VirtualMerchant/processxml.do

Implementation Guidelines

Converge doesn't expect a fully validated XML document, but an XML-formatted request assigned to URL encoded variables called xmldata. Only the Converge-specific elements for the transaction itself are supported.

XML has a special set of characters that cannot be used in normal XML strings. Special characters must be URL encoded to avoid problems.

For example, this XML string is invalid:

<ssl_company>A & B Company</ssl_company>

And this XML string is valid:

<ssl_company>A &amp; B Company</ssl_company>

The following special characters should be URL encoded:

  • Control characters (values 0x01 to 0x1f, and 0x7f)

  • 8-bit ASCII values (values > 0x7f)

  • Any of the following characters:

    • ' ' (space character)

    • '"' (double quote)

    • '#' (hash or pound)

    • '<' (less than)

    • '>' (greater than)

    • '\' (back slash)

    • '^' (circumflex)

    • '`' (backquote)

    • '{' (left squiggly bracket or brace)

    • '|' (vertical bar)

    • '}' (right squiggly bracket or brace)