Inter API Documentation

Version 2.0 - Enhanced Partner Integration Guide

# GetCurrencyTypesOfPayment Method

Overview

This method allows Client Applications to obtain a list of payment currencies combined with the associated payment methods available in a given country. This is a critical method for building dynamic payment forms that adapt to the selected destination country.

Use Cases:

Performance: Typically responds in 50-150ms (highly cacheable)

Caching Recommendation: Cache this data for 24 hours per country pair and refresh daily.


Request Fields

Field Name Type (Length) Option Description
AgentID Integer (9) R Your agent ID
PartnerID Integer (9) R Your partner ID
SenderCountry Alpha (2) R ISO 3166-1 alpha-2 code (e.g., "US")
RecipientCountry Alpha (2) R ISO 3166-1 alpha-2 code (e.g., "BR")

Request Examples

Example 1: Get Payment Methods for US → Brazil

SOAP Request:

<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>
    <GetCurrencyTypesOfPayment xmlns="http://mts.geobridge.org/">
      <AgentID>12345</AgentID>
      <PartnerID>100</PartnerID>
      <SenderCountry>US</SenderCountry>
      <RecipientCountry>BR</RecipientCountry>
    </GetCurrencyTypesOfPayment>
  </soap:Body>
</soap:Envelope>

SOAP Response:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetCurrencyTypesOfPaymentResponse xmlns="http://mts.geobridge.org/">
      <GetCurrencyTypesOfPaymentResult>
        <PaymentMethods>
          <PaymentMethod>
            <CurrencyOfPaymentText>Brazilian Real</CurrencyOfPaymentText>
            <CurrencyOfPayment>BRL</CurrencyOfPayment>
            <CurrencyOfPaymentID>1</CurrencyOfPaymentID>
            <TypeOfPaymentID>1</TypeOfPaymentID>
            <TypeOfPaymentText>Bank Deposit</TypeOfPaymentText>
            <MaxAmountSent>10000.00</MaxAmountSent>
            <MaxAmountReceived>52500.00</MaxAmountReceived>
            <RecipientBankAccoutTypes>checking,savings</RecipientBankAccoutTypes>
            <MinimumAccountDigits>4</MinimumAccountDigits>
            <MaximumAccountDigits>20</MaximumAccountDigits>
          </PaymentMethod>
          <PaymentMethod>
            <CurrencyOfPaymentText>Brazilian Real</CurrencyOfPaymentText>
            <CurrencyOfPayment>BRL</CurrencyOfPayment>
            <CurrencyOfPaymentID>1</CurrencyOfPaymentID>
            <TypeOfPaymentID>2</TypeOfPaymentID>
            <MaxAmountSent>5000.00</MaxAmountSent>
            <MaxAmountReceived>26250.00</MaxAmountReceived>
            <RecipientBankAccoutTypes></RecipientBankAccoutTypes>
            <MinimumAccountDigits>0</MinimumAccountDigits>
            <MaximumAccountDigits>0</MaximumAccountDigits>
          </PaymentMethod>
        </PaymentMethods>
      </GetCurrencyTypesOfPaymentResult>
    </GetCurrencyTypesOfPaymentResponse>
  </soap:Body>
</soap:Envelope>

Explanation:

- TypeOfPaymentID 1: Bank Deposit - Max $10,000 USD, requires checking or savings account (4-20 digits) - TypeOfPaymentID 2: Alternative payment method


TypeOfPaymentID Reference

Understanding TypeOfPaymentID is critical for creating orders. This ID determines which payment method will be used and what fields are required.

Brazil (BR)

TypeOfPaymentID Payment Method Description Required Fields
31 TED/DOC/PIX Bank Deposit Traditional bank transfer or PIX RecipientBankName, RecipientBankRouting, RecipientBankAccountNo, RecipientBankAccoutType
42 PIX Instant payment via PIX key PixTypeId, PixId (NO bank account fields)

Important Notes:

Detailed Brazil Payment Methods

TypeOfPaymentID Method Processing Time Max Amount Account Format Notes
31 Bank Deposit (TED/DOC/PIX) 30-120 minutes $10,000 Bank code (3) + Branch (4-5) + Account (8-12) Traditional bank transfer, requires CPF/CNPJ
42 PIX (Instant Payment) 5-30 minutes $10,000 PIX key only (CPF/Phone/Email/Random) Instant, 24/7, no bank account needed
3 Cash Pickup (Sicoob) 30-60 minutes $5,000 None Generates OrderClaimCode
311 Cash Pickup (Lotérica) 30-60 minutes $5,000 None Generates OrderClaimCode

Account Types: checking (Conta Corrente), savings (Poupança)

PIX Key Types:

Bank Code Examples:

Compliance: Serasa validation for CPF/CNPJ required


United States (US)

TypeOfPaymentID Payment Method Description Processing Time
449 ACH Transfer Automated Clearing House 1-3 business days
784 FedWire (Same Day) Federal Reserve Wire Network Same business day
783 FedNow (Instant) Instant payment service Real-time (24/7/365)

Important Notes:

Detailed US Payment Methods

TypeOfPaymentID Method Processing Time Max Amount Account Format Notes
449 ACH Transfer 1-3 business days $15,000 ABA routing (9 digits) + Account Most economical, business days only
784 FedWire (Same Day) Same day $25,000 ABA routing (9 digits) + Account Same-day, higher fees, before 5 PM ET
783 FedNow (Instant) Instant (seconds) $25,000 ABA routing (9 digits) + Account NEW! 24/7/365, real-time settlement

\*Note: TypeOfPaymentID values may vary by partner. Use GetCurrencyTypesOfPayment to confirm your available IDs.

Account Types: checking, savings

ABA Routing Number:

Validation: GIACT real-time bank account validation required

Processing Details:

Common US Banks:


Example Response with Multiple Payment Methods

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetCurrencyTypesOfPaymentResponse xmlns="http://mts.geobridge.org/">
      <GetCurrencyTypesOfPaymentResult>
        <PaymentMethods>
          <!-- TED/DOC/PIX Bank Deposit -->
          <PaymentMethod>
            <CurrencyOfPaymentText>Brazilian Real</CurrencyOfPaymentText>
            <CurrencyOfPayment>BRL</CurrencyOfPayment>
            <CurrencyOfPaymentID>1</CurrencyOfPaymentID>
            <TypeOfPaymentID>31</TypeOfPaymentID>
            <TypeOfPaymentText>Bank Deposit (TED/DOC/PIX)</TypeOfPaymentText>
            <MaxAmountSent>10000.00</MaxAmountSent>
            <MaxAmountReceived>52500.00</MaxAmountReceived>
            <RecipientBankAccoutTypes>checking,savings</RecipientBankAccoutTypes>
            <MinimumAccountDigits>4</MinimumAccountDigits>
            <MaximumAccountDigits>20</MaximumAccountDigits>
          </PaymentMethod>

          <!-- PIX via Key -->
          <PaymentMethod>
            <CurrencyOfPaymentText>Brazilian Real</CurrencyOfPaymentText>
            <CurrencyOfPayment>BRL</CurrencyOfPayment>
            <CurrencyOfPaymentID>1</CurrencyOfPaymentID>
            <TypeOfPaymentID>42</TypeOfPaymentID>
            <TypeOfPaymentText>PIX</TypeOfPaymentText>
            <MaxAmountSent>10000.00</MaxAmountSent>
            <MaxAmountReceived>52500.00</MaxAmountReceived>
            <RecipientBankAccoutTypes></RecipientBankAccoutTypes>
            <MinimumAccountDigits>0</MinimumAccountDigits>
            <MaximumAccountDigits>0</MaximumAccountDigits>
          </PaymentMethod>
        </PaymentMethods>
      </GetCurrencyTypesOfPaymentResult>
    </GetCurrencyTypesOfPaymentResponse>
  </soap:Body>
</soap:Envelope>


Response Fields Explained

Payment Method Information

Field Description Example
CurrencyOfPaymentText Human-readable currency name "Brazilian Real"
CurrencyOfPayment ISO 4217 currency code "BRL"
CurrencyOfPaymentID Internal currency ID 1
TypeOfPaymentID Payment method ID 1 (Bank), 2 (Cash)
TypeOfPaymentText Human-readable payment method "Bank Deposit"

Amount Limits

Field Description Important Notes
MaxAmountSent Maximum USD per transaction Partner-specific, may vary
MaxAmountReceived Maximum in destination currency Calculated using current rate

Note: Minimum amounts are typically $10 USD for all corridors.

Error Response Example

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <soap:Fault>
      <faultcode>soap:Server</faultcode>
      <faultstring>No payment methods available</faultstring>
      <detail>
        <ErrorCode>2050</ErrorCode>
        <ErrorMessage>No payment methods available for corridor US → ZW</ErrorMessage>
      </detail>
    </soap:Fault>
  </soap:Body>
</soap:Envelope>


Integration Best Practices

2. Build Dynamic Payment Method Selector

async function buildPaymentMethodSelector(senderCountry, recipientCountry) {
  const methods = await getPaymentMethods(senderCountry, recipientCountry);

  // Group by currency (if multiple currencies)
  const byCurrency = methods.reduce((acc, method) => {
    if (!acc[method.CurrencyOfPayment]) {
      acc[method.CurrencyOfPayment] = [];
    }
    acc[method.CurrencyOfPayment].push(method);
    return acc;
  }, {});

  // Build UI options
  const options = [];
  for (const [currency, currencyMethods] of Object.entries(byCurrency)) {
    currencyMethods.forEach((method) => {
      options.push({
        value: method.TypeOfPaymentID,
        label: `${method.TypeOfPaymentText} (Max: ${method.MaxAmountSent})`,
        currency: method.CurrencyOfPayment,
        maxAmount: method.MaxAmountSent,
        requiresAccount: method.MinimumAccountDigits > 0,
        accountTypes:
          method.RecipientBankAccoutTypes.split(",").filter(Boolean),
      });
    });
  }

  return options;
}

4. Display Payment Method with Limits

function displayPaymentMethodInfo(method) {
  const requiresAccount = method.MinimumAccountDigits > 0;

  return `
    ┌─────────────────────────────────────────┐
    │  ${method.TypeOfPaymentText}
    ├─────────────────────────────────────────┤
    │  Currency: ${method.CurrencyOfPayment} (${method.CurrencyOfPaymentText})
    │  Max Amount: ${method.MaxAmountSent} USD
    │  
    ${
      requiresAccount
        ? `│  Bank Account Required:
    │  • Account Types: ${method.RecipientBankAccoutTypes}
    │  • Length: ${method.MinimumAccountDigits}-${method.MaximumAccountDigits} digits`
        : "│  No bank account needed"
    }
    └─────────────────────────────────────────┘
  `;
}

5. Validate Amount Against Payment Method Limits

function validateAmount(amount, paymentMethod) {
  // Check minimum (typically $10)
  if (amount < 10) {
    return {
      valid: false,
      error: "Minimum amount is $10.00 USD",
    };
  }

  // Check maximum for selected payment method
  if (amount > paymentMethod.MaxAmountSent) {
    return {
      valid: false,
      error: `Maximum amount for ${paymentMethod.TypeOfPaymentText} is ${paymentMethod.MaxAmountSent} USD. Please choose a different payment method or reduce the amount.`,
    };
  }

  return { valid: true };
}


Testing

Related Methods

Before calling GetCurrencyTypesOfPayment:

After getting payment methods:


Support