Inter API Documentation

Version 2.0 - Enhanced Partner Integration Guide

# Protocols and Conventions

Overview

Integration with Inter API is made using the SOAP messaging standard. Web Service Description Language (WSDL) documents that describe the Web Services and their messaging formats will be provided specifically for each partner in separate URLs.

Field Requirements

The requirements for each field are defined by code letters as follows:

Code Meaning Description
R Required Value must always be provided
O Optional Value may be omitted
C Conditional Required based on compliance or other business rules

SOAP Message Structure

SOAP Request Example

Illustrative CreateNewOrder (US / FedNow-style corridor). All values below are fictional—use your Inter credentials and real order data.

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <AuthHeader xmlns="http://mts.geobridge.org/">
            <UserName>your_api_username</UserName>
            <Password>your_api_password</Password>
        </AuthHeader>
    </soap:Header>
    <soap:Body>
        <CreateNewOrder xmlns="http://mts.geobridge.org/">
            <AgentID>10001</AgentID>
            <PartnerID>20002</PartnerID>
            <AgentOrderReference>REF-US-FEDNOW-DEMO-001</AgentOrderReference>
            <OrderCreationTime>2026-03-30 15:00:00.000</OrderCreationTime>
            <SenderLastName>Taylor</SenderLastName>
            <SenderFirstName>Alex</SenderFirstName>
            <SenderCompanyName></SenderCompanyName>
            <SenderCountry>GB</SenderCountry>
            <NetAmountSent>1000</NetAmountSent>
            <AmountReceived>1000</AmountReceived>
            <CurrencySent>USD</CurrencySent>
            <CurrencyOfPayment>USD</CurrencyOfPayment>
            <CurrencyOfPaymentID>3</CurrencyOfPaymentID>
            <TotalFeeAgent>0</TotalFeeAgent>
            <ExchangeRateAgent>1</ExchangeRateAgent>
            <ExchangeRateSender>1</ExchangeRateSender>
            <RecipientFirstName>Jane</RecipientFirstName>
            <RecipientLastName>Recipient</RecipientLastName>
            <RecipientCompany></RecipientCompany>
            <RecipientCountry>US</RecipientCountry>
            <TypeOfPaymentID>744</TypeOfPaymentID>
            <TypeOfPaymentText>FEDNOW</TypeOfPaymentText>
            <RecipientBankName>Example National Bank</RecipientBankName>
            <RecipientBankRouting>111000025</RecipientBankRouting>
            <RecipientBankAccountNo>9876543210</RecipientBankAccountNo>
            <RecipientBankAccoutType>savings</RecipientBankAccoutType>
        </CreateNewOrder>
    </soap:Body>
</soap:Envelope>

SOAP Response Example

Successful CreateNewOrder response shape (NewOrderResponse inside CreateNewOrderResult). Fictional IDs and timestamps. OrderProcessingTime is returned in PST (Pacific Standard Time). Field-by-field descriptions and scenario examples: CreateNewOrder — Response Fields (same element order in production).

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <CreateNewOrderResponse xmlns="http://mts.geobridge.org/">
            <CreateNewOrderResult>
                <NewOrderResponse xmlns="">
                    <AgentOrderReference>REF-US-FEDNOW-DEMO-001</AgentOrderReference>
                    <OrderID>5000199001</OrderID>
                    <OrderProcessingTime>2026-03-30T15:00:15.0000000</OrderProcessingTime>
                    <NetAmountSent>1000.00</NetAmountSent>
                    <TotalFeeSender>0.00</TotalFeeSender>
                    <ExchangeRateSender>1.0000000</ExchangeRateSender>
                    <CurrencySent>USD</CurrencySent>
                    <ExchangeRateAgent>1.0000000</ExchangeRateAgent>
                    <TotalFeeAgent>0.00</TotalFeeAgent>
                    <TotalDueFromAgent>1000.00</TotalDueFromAgent>
                    <AmountReceived>1000.00</AmountReceived>
                    <TotalRecipiententFee>0.00</TotalRecipiententFee>
                    <TotalPaidToRecipient>1000.00</TotalPaidToRecipient>
                    <CurrencyOfPayment>USD</CurrencyOfPayment>
                    <CurrencyOfPaymentID>3</CurrencyOfPaymentID>
                    <PaymentInstructions></PaymentInstructions>
                    <TypeOfPaymentID>744</TypeOfPaymentID>
                    <OrderAcceptanceCode>A</OrderAcceptanceCode>
                    <OrderClaimCode></OrderClaimCode>
                    <TransactionResult></TransactionResult>
                    <ResultCodes>1001</ResultCodes>
                    <AdditionalMessage></AdditionalMessage>
                    <StatusCode>3</StatusCode>
                    <SenderUID>900100001</SenderUID>
                    <SenderLastName>Taylor</SenderLastName>
                    <SenderFirstName>Alex</SenderFirstName>
                    <SenderCompanyName></SenderCompanyName>
                    <RecipientBillerAccountNo>900100002</RecipientBillerAccountNo>
                    <RecipientLastName>Recipient</RecipientLastName>
                    <RecipientFirstName>Jane</RecipientFirstName>
                    <RecipientCompany></RecipientCompany>
                </NewOrderResponse>
            </CreateNewOrderResult>
        </CreateNewOrderResponse>
    </soap:Body>
</soap:Envelope>

Error Handling

SOAP Fault (transport / SOAP layer)

Some failures are returned as a SOAP Fault inside the response envelope — typically before your call reaches application logic. A common case is a missing or invalid HTTP SOAPAction header (must match the operation in the WSDL).

Example response (real shape observed when the SOAP Action is not supplied correctly):

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <soap:Fault>
            <faultcode>soap:Client</faultcode>
            <faultstring>Unable to handle request without a valid action parameter. Please supply a valid soap action.</faultstring>
            <detail />
        </soap:Fault>
    </soap:Body>
</soap:Envelope>

Business and validation errors

Validation and business-rule failures from web methods are usually returned as normal SOAP 200 responses whose XML payload contains an <Error> element with ResultCodes and ResultMessage (see operation-specific articles such as CreateNewOrder), not as a soap:Fault.

Best Practices

1. XML Validation

Always validate your XML against the WSDL schema before sending:

// Example using xmllint
const { exec } = require('child_process');
exec('xmllint --schema service.xsd request.xml', (error, stdout) => {
  if (error) {
    console.error('XML Validation Error:', stdout);
  }
});

2. Namespace Handling

Always include the correct namespace in your requests:

<CreateNewOrder xmlns="http://mts.geobridge.org/">
  <!-- Parameters -->
</CreateNewOrder>

3. Date/Time Formatting

Use ISO 8601 format consistently:

// JavaScript example
const now = new Date();
const isoDateTime = now.toISOString(); // "2025-11-05T14:30:00.000Z"

5. Field Order

Maintain the field order as specified in the WSDL. Some SOAP implementations are sensitive to element order.

WSDL Access

Use the ASMX endpoint for your environment (same path as in Getting Started). Append ?wsdl for the contract.

UAT (sandbox) WSDL:

https://test.masspayments.inter.co/partner/api/mts.asmx?wsdl

Production WSDL:

https://masspayments.inter.co/ppapis3/ppapis3/mts.asmx?wsdl

Testing Tools

Example curl request (UAT)

Post to mts.asmx (not service.asmx). The HTTP SOAPAction value must match the operation in soap:Body (see WSDL). Below: GetOrderStatus with AuthHeader.

curl --location 'https://test.masspayments.inter.co/partner/api/mts.asmx' \
  --header 'Content-Type: text/xml; charset=utf-8' \
  --header 'SOAPAction: "http://mts.geobridge.org/GetOrderStatus"' \
  --data-raw '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <AuthHeader xmlns="http://mts.geobridge.org/">
      <UserName>your_username</UserName>
      <Password>your_password</Password>
    </AuthHeader>
  </soap:Header>
  <soap:Body>
    <GetOrderStatus xmlns="http://mts.geobridge.org/">
      <AgentID>YOUR_AGENT_ID</AgentID>
      <PartnerID>YOUR_PARTNER_ID</PartnerID>
      <AgentOrderReference>YOUR_ORDER_REFERENCE</AgentOrderReference>
    </GetOrderStatus>
  </soap:Body>
</soap:Envelope>'


Last Updated: April 17, 2026 Version: 2.0