# CreateNewOrder Method
Overview
This method allows Client Applications to create new remittance orders in the Inter system. This is the core method for submitting international money transfers.
Use Cases:
- Create new remittance orders
- Submit sender and recipient information
- Specify payment method and amounts
- Initiate compliance checks (OFAC, bank validation)
- Get order confirmation and tracking number
Performance: Typically responds in 5-12 seconds (includes compliance checks)
Amounts (contract): NetAmountSent and AmountReceived are both mandatory on every CreateNewOrder call (positive values, two decimal places), consistent with your pricing quote.
Brazil (contract): for every order with RecipientCountry = BR, RecipientTIN is mandatory — CPF (11 digits) or CNPJ (14 digits) of the beneficiary — for all payment methods (TED/DOC, PIX key, etc.). There is no Brazil payout type that exempts this field. The TIN must match the recipient type (CPF for individuals, CNPJ for legal entities); how that interacts with name and company fields is spelled out under Brazil: RecipientTIN and beneficiary type in the corridor requirements page.
Corridor-specific requirements: Mandatory and recommended fields also depend on sender country, recipient country, payment method (TypeOfPaymentID), and transaction type (P2P / P2B / B2B / B2P). See corridor-specific field requirements (same detail is linked again from the request-field Legend below).
Important: This method performs multiple validations and compliance checks. Always call GetRatesAndCosts first to ensure accurate rates.
Request Fields
Authentication & Order Identification
| Field Name | Type (Length) | Option | Description |
|---|---|---|---|
| AgentID | Integer (9) | R | Your unique ID as an agent in the Inter system |
| PartnerID | Integer (9) | R | Your unique ID as a partner in the Inter system |
| AgentOrderReference | Alpha (25) | R | Your unique reference for this order. Must be unique per partner. |
| OrderCreationTime | DateTime | R | Timestamp when the order was created (ISO 8601 format: YYYY-MM-DDTHH:MM:SS) |
Sender Information
| Field Name | Type (Length) | Option | Description |
|---|---|---|---|
| SenderFirstName | Alpha (50) | C | Sender's first name (Required for P2P, P2B) |
| SenderLastName | Alpha (50) | C | Sender's last name (Required for P2P, P2B) |
| SenderCompanyName | Alpha (100) | C | Sender's company name (Required for B2P, B2B) |
| SenderCountry | Alpha (2) | R | ISO 3166-1 alpha-2 country code (e.g., "US") |
| SenderAddress | Alpha (225) | R | Sender's street address |
| SenderCity | Alpha (50) | R | Sender's city |
| SenderState | Alpha (50) | R | Sender's state/province |
| SenderZip | Alpha (10) | O | Sender's postal/ZIP code (optional) |
| SenderPhone1 | Alpha (20) | R | Sender's primary phone number |
| SenderDateOfBirth | Date | C | Sender's date of birth (Required for P2P, P2B) |
| SenderDocument1Type | Alpha (20) | C | Document type (e.g., "PASSPORT", "DL", "CPF") (Required for P2P, P2B) |
| SenderDocument1Number | Alpha (30) | C | Document number (Required for P2P, P2B) |
Recipient Information
| Field Name | Type (Length) | Option | Description |
|---|---|---|---|
| RecipientFirstName | Alpha (50) | C | Recipient's first name (maps to RcFirstName). Required for P2P, B2P. Required when RecipientCountry = US (all US payout methods in this guide). |
| RecipientLastName | Alpha (50) | C | Recipient's last name (maps to RcLastName). Required for P2P, B2P. Required when RecipientCountry = US (all US payout methods in this guide). |
| RecipientCompany | Alpha (100) | C | Recipient's company name (Required for P2B, B2B). For PIX (TypeOfPaymentID 42) with CNPJ as the key: required — legal company name. Use PixTypeId CPF (same value as for a CPF natural-person key), with the CNPJ in PixId. |
| RecipientCountry | Alpha (2) | R | ISO 3166-1 alpha-2 country code (e.g., "BR", "US") |
| RecipientAddress1 | Alpha (225) | R | Recipient's street address |
| RecipientCity | Alpha (50) | R | Recipient's city |
| RecipientState | Alpha (50) | R | Recipient's state/province |
| RecipientZip | Alpha (10) | R | Recipient's postal/ZIP code |
| RecipientPhone1 | Alpha (20) | R | Recipient's primary phone number |
| RecipientTIN | Alpha (20) | C | Mandatory for all Brazil orders: when RecipientCountry = BR, you must send CPF or CNPJ (digits only, per beneficiary) on every CreateNewOrder, regardless of TypeOfPaymentID (31, 42, etc.). Use CPF (11 digits) only for an individual beneficiary and CNPJ (14 digits) only for a legal entity; the API ties validation of name vs company fields to that choice (see corridor guide: Brazil TIN type). For non-BR destinations, not part of the base contract (optional where applicable, e.g. US SSN/EIN for reporting). |
| RecipientDocument1Type | Alpha (20) | C | Document type (Required for TED) |
| RecipientDocument1Number | Alpha (30) | C | Document number (Required for TED) |
Bank Account Information (TED/DOC, ACH / US bank deposit)
| Field Name | Type (Length) | Option | Description |
|---|---|---|---|
| RecipientBankName | Alpha (100) | C | Bank name (Required for TED/DOC, ACH / US bank deposit) |
| RecipientBankRouting | Alpha (20) | C | Bank routing number (Required for TED/DOC, ACH / US bank deposit) |
| RecipientBranchID | Alpha (10) | C | Branch ID (Required for TED/DOC in Brazil) |
| RecipientBankAccountNo | Alpha (30) | C | Account number (Required for TED/DOC, ACH / US bank deposit) |
| RecipientBankAccoutType | Alpha (20) | C | Account type: "CHECKING", "SAVINGS" (Required for TED/DOC, ACH / US bank deposit) |
PIX Information (Brazil Only)
| Field Name | Type (Length) | Option | Description |
|---|---|---|---|
| PixTypeId | Alpha (20) | C | PIX key type: "CPF", "PHONE", "EMAIL", "RANDOMKEY" (Required for PIX). CNPJ key: use CPF here (not a separate type). |
| PixId | Alpha (100) | C | PIX key value (Required for PIX). With PixTypeId CPF: CPF (11 digits) or CNPJ (14 digits). |
Transaction Amounts
NetAmountSent and AmountReceived in the SOAP body. Omitting either field or sending zero/invalid values will fail validation. Use the amounts returned or implied by GetRatesAndCosts for the same corridor and payment method.
| Field Name | Type (Length) | Option | Description |
|---|---|---|---|
| NetAmountSent | Decimal (2) | R | Mandatory. Amount sent (2 decimals). Must be sent together with AmountReceived on every CreateNewOrder (both > 0; must match the agreed/quoted economics where the server validates). |
| AmountReceived | Decimal (2) | R | Mandatory. Amount received (2 decimals). Must be sent together with NetAmountSent on every CreateNewOrder (same rules as above). |
| CurrencySent | Alpha (3) | R | ISO 4217 currency code (e.g., "USD") |
| CurrencyOfPayment | Alpha (3) | R | ISO 4217 currency code (e.g., "BRL") |
| CurrencyOfPaymentID | Integer | R | Currency ID (e.g., 2 for BRL, 1 for USD) |
| ExchangeRateSender | Decimal (2-4) | O | Exchange rate (2 decimals for Brazil, 4 for others). Mass Payments: effective requirement follows your commercial definition—in some programs the rate is pre-established (e.g., configuration or standing agreement), so per-order values may be optional or derived elsewhere. |
| TotalFeeSender | Decimal (2) | O | Total fee charged to sender (2 decimals) |
| TotalCollectedFromSender | Decimal (2) | O | Total amount collected from sender (2 decimals) |
| ExchangeRateAgent | Decimal (see Exchange Rates below) | R | Agent-side exchange rate; required on CreateNewOrder (typically match quote from GetRatesAndCosts) |
| TotalFeeAgent | Decimal (2) | R | Total fee charged to the agent; required on CreateNewOrder |
CreateNewOrder: NetAmountSent and AmountReceived are mandatory amount fields. ExchangeRateAgent and TotalFeeAgent must always be sent (contract). Field names in the SOAP API are ExchangeRateAgent and TotalFeeAgent (not "ExchangeRateAgente").
Payment Method
| Field Name | Type (Length) | Option | Description |
|---|---|---|---|
| TypeOfPaymentID | Integer | R | Payment method ID (required). Processing uses this value — see common examples below and GetCurrencyTypesOfPayment. |
| TypeOfPaymentText | Alpha (50) | O | Human-readable payment method label (optional, informational only). Processing is determined by TypeOfPaymentID; echo from GetCurrencyTypesOfPayment if you want a label, or omit. |
TypeOfPaymentID vs TypeOfPaymentText (CreateNewOrder): TypeOfPaymentID is required. TypeOfPaymentText is optional (informational only; routing and validation use the ID).
Common TypeOfPaymentID examples — always confirm your corridor with GetCurrencyTypesOfPayment (IDs may vary by partner): 31 (bank deposit / TED), 42 (PIX), 747 (ACH, US), 744 (instant payments, e.g. FedNow/RTP, US). Full tables: GetCurrencyTypesOfPayment → TypeOfPaymentID Reference; hosted documentation: https://masspayments.inter.co/ppapis3/documentation/articles/GetCurrencyTypesOfPayment.html.
Compliance Information
| Field Name | Type (Length) | Option | Description |
|---|---|---|---|
| Custom2 | Alpha (50) | C | Transaction type: "B2B" (Required for B2B transactions) |
| CardToken | Alpha (100) | C | Card token (Required if payment via card) |
| RelationshipToSender | Alpha (150) | O | Relationship between sender and recipient (e.g., "Sister", "Brother", "Friend", "Spouse", "Self") |
| PurposeOfOrder | Alpha (150) | O | Purpose of the transfer (e.g., "Family Support", "Gift", "Bill Payment", "Rent", "Education") |
| OrderFundSource | Alpha (150) | O | Source of funds used by the sender (e.g., "Salary", "Savings", "Business Income", "Pension") |
Legend: R = Required, O = Optional, C = Conditional. The R/O/C column does not cover every combination of corridor and payment rail; for mandatory vs optional fields by origin, destination, TypeOfPaymentID, and transaction type (P2P / P2B / B2B / B2P), see corridor-specific field requirements.
Conditional Field Rules
- RecipientCountry = BR: RecipientTIN is mandatory on every order (CPF or CNPJ, per beneficiary) — all payment methods and transaction types (TED/DOC, PIX, P2P, B2P, etc.). No exception by rail. For non-BR destinations, RecipientTIN is not part of the base mandatory set (unless your product adds rules).
- Brazil —
RecipientTINvs beneficiary type: CPF = 11 digits (individual); CNPJ = 14 digits (legal entity). With a CPF,RecipientFirstNamemust be non-empty (empty tags count as missing). With a CNPJ,RecipientCompanymust carry the legal name. See Brazil: RecipientTIN and beneficiary type for the full note and non-production test data tips. - RecipientCountry = US: RecipientFirstName and RecipientLastName are mandatory (API fields; database columns RcFirstName / RcLastName) for US bank payouts (ACH, Instant Payments such as FedNow, RTP, etc.).
- P2P Transactions: SenderFirstName, SenderLastName, SenderDateOfBirth, SenderDocument1Type, SenderDocument1Number, RecipientFirstName, RecipientLastName
- B2P Transactions: SenderCompanyName, RecipientFirstName, RecipientLastName
- P2B Transactions: SenderFirstName, SenderLastName, SenderDateOfBirth, SenderDocument1Type, SenderDocument1Number, RecipientCompany, RecipientTIN
- B2B Transactions: SenderCompanyName, RecipientCompany, RecipientTIN, Custom2 = "B2B". If
RecipientTINis a CPF (individual), you must still send a non-emptyRecipientFirstName; company name alone does not replace that rule. - TED/DOC (TypeOfPaymentID = 31): RecipientBankName, RecipientBankRouting, RecipientBranchID, RecipientBankAccountNo, RecipientBankAccoutType, RecipientTIN, RecipientDocument1Type, RecipientDocument1Number
- PIX (TypeOfPaymentID = 42): PixTypeId, PixId, RecipientCountry = "BR", RecipientTIN (mandatory for Brazil, as for any BR order), RecipientDocument1Type = "CPF", RecipientDocument1Number. CNPJ as PIX key:
PixTypeIdmust beCPF(same as for CPF key); send the CNPJ inPixIdand includeRecipientCompany(legal name). IMPORTANT: All banking fields must be EMPTY. - ACH / US bank deposit (USA): RecipientBankName, RecipientBankRouting (9-digit ABA), RecipientBankAccountNo, RecipientBankAccoutType, RecipientCountry = "US"
- Amount fields (CreateNewOrder): NetAmountSent and AmountReceived are both mandatory.
Allowed Characters and Text Field Sanitization
Allowed characters:
- Letters (a-z, A-Z), numbers (0-9), spaces
- Special characters: ÇüéâäàåçêëèïîíìÄÅÉæÆôöòûùÖÜáíóúñÑÀÁÂÃÈÊËÌÍÎÏÐÒÓÔÕØÙÚÛÝßãðõøýþÿ
- Symbols: $, -, _, ,, /, @, %, ., (, ), '
Scope: The same rules below apply to text fields on the order that the API normalizes with this character set — for example sender/recipient names and company, address lines, city/state/ZIP, phones, email, document-related strings, relationship, purpose, fund source, payment instructions, messages, and other comparable Alpha/text attributes — unless a specific field is documented otherwise.
Limitations:
- Consecutive double spaces are automatically removed
- Any character that is not in the allowed list above is removed (stripped) from the field value before the order is processed and stored, for every field in scope above.
- Maximum length: Name (50-100 characters), Address (50-225 characters)
Sanitization and successful CreateNewOrder response: After removal, the API persists and returns the cleaned text. On a successful order creation, the response XML echoes sanitized text fields as they were stored — without the disallowed characters — not necessarily the original raw strings from the request.
Example (request vs response): Recipient names are shown below as a common case; any other in-scope field behaves the same way. If the request contains disallowed characters such as ~ or |:
<RecipientLastName>SANTOS~SILVA</RecipientLastName>
<RecipientFirstName>MARIA|LUIZA</RecipientFirstName>
those symbols are omitted. On success, the create-order response includes the normalized values, for example:
<RecipientLastName>SANTOSSILVA</RecipientLastName>
<RecipientFirstName>MARIALUIZA</RecipientFirstName>
Decimal Places Requirements
Value Fields (always 2 decimal places):
- NetAmountSent, AmountReceived, TotalFeeSender, TotalCollectedFromSender, TotalFeeAgent, TotalDueFromAgent, TotalRecipiententFee, TotalPaidToRecipient, OrderCardSurcharge
Exchange Rates:
- ExchangeRateAgent (CreateNewOrder): required; Brazil (BR) typically 2 decimals, other corridors often 4 — align with your pricing quote
- Brazil (BR): 2 decimal places
- Other countries: 4 decimal places
Response Fields
Successful SOAP body shape: CreateNewOrderResponse → CreateNewOrderResult → NewOrderResponse. The API does not return a root element named Order for this operation. Elements below appear in a fixed order on every successful response; values (and empty tags) vary by order. The only structural variation is OrderReceipt, which may be omitted (see its row). LastStatusUpdade is not part of CreateNewOrder; use GetOrderDetails or GetOrderStatus for last status time.
Mass Payments: The notes for OrderReceipt and PaymentInstructions in this section do not apply to Mass Payments integrations—treat those fields as not relevant for that product context.
| Field Name | Type (Length) | Description |
|---|---|---|
| AgentOrderReference | Alpha (25) | Your order reference (echoed back) |
| OrderID | Integer (10) | Unique order ID generated by MTS |
| OrderProcessingTime | DateTime | When the order was processed (ISO 8601-style timestamp). The returned time is in PST (Pacific Standard Time). |
| NetAmountSent | Decimal | Net amount sent (two decimal places) |
| TotalFeeSender | Decimal | Total fee charged to the sender |
| ExchangeRateSender | Decimal | Exchange rate (sender side) |
| CurrencySent | Alpha | Currency code sent |
| ExchangeRateAgent | Decimal | Agent-side exchange rate |
| TotalFeeAgent | Decimal | Total fee charged to the agent |
| TotalDueFromAgent | Decimal | Total collected from the agent |
| AmountReceived | Decimal | Amount received in payout currency (two decimal places) |
| TotalRecipiententFee | Decimal | Total recipient-side fee (element name as returned by the API) |
| TotalPaidToRecipient | Decimal | Total paid to recipient |
| CurrencyOfPayment | Alpha | Payout currency code |
| CurrencyOfPaymentID | Integer | Payout currency identifier |
| PaymentInstructions | Alpha (200) | Always returned as an element on success; value is empty in this response. Payout or recipient instructions persisted on the order are available via GetOrderDetails (PaymentInstructions and related fields). Does not apply to Mass Payments. |
| TypeOfPaymentID | Integer | Payment method ID used |
| OrderAcceptanceCode | Alpha (1) | A = Accepted, R = Rejected |
| OrderClaimCode | Alpha | Pickup / claim reference: if a PIN or claim code was generated for the order (for example, some cash-pickup corridors), that value is returned; otherwise a correspondent confirmation/reference number may be returned when one is assigned for the corridor. May be empty when neither applies. |
| TransactionResult | Alpha | Reserved for future use (may be empty) |
| ResultCodes | Alpha (200) | Result code(s); comma-separated if multiple |
| AdditionalMessage | Alpha (200) | Additional information (may be empty) |
| StatusCode | Integer | Order status (numeric; see status documentation) |
| SenderUID | Alpha | Sender identifier in MTS |
| SenderLastName | Alpha | Sender last name (sanitized/stored value) |
| SenderFirstName | Alpha | Sender first name (sanitized/stored value) |
| SenderCompanyName | Alpha | Legal / company name of the sender when the sender is a legal entity (e.g. B2B); for individual senders this field is empty. |
| RecipientBillerAccountNo | Alpha | Recipient identifier in MTS |
| RecipientLastName | Alpha | Recipient last name |
| RecipientFirstName | Alpha | Recipient first name |
| RecipientCompany | Alpha | Legal / company name of the beneficiary when the beneficiary is a legal entity; for individuals, use the first/last name fields. |
| OrderReceipt | Base64 String | PDF receipt (base64). Omitted for Mass Payments. |
Payment Method Requirements
On CreateNewOrder, TypeOfPaymentID is required; TypeOfPaymentText is optional (informational only — processing uses the ID).
Understanding TypeOfPaymentID is critical for creating orders successfully. This ID determines:
- Which payment method will be used
- What fields are required vs optional
- Processing times and costs
- Recipient experience
TypeOfPaymentID Reference Guide
Brazil (BR) - Available Payment Methods
| TypeOfPaymentID | Payment Method | Description | Processing Time | Required Fields |
|---|---|---|---|---|
| 31 | Bank deposit / TED | Bank transfer to recipient account (TED and related bank-account rails; DOC/PIX-to-account where applicable per corridor) | 30-120 minutes | RecipientBankName, RecipientBankRouting, RecipientBankAccountNo, RecipientBankAccoutType, RecipientBranchID, RecipientTIN (BR) |
| 42 | PIX | PIX by key (CPF-type for CPF or CNPJ, Phone, Email, Random Key) | 5-30 minutes | PixTypeId, PixId, RecipientTIN (BR); for CNPJ key add RecipientCompany (PixTypeId still CPF). No bank fields. |
Important Notes for Brazil:
- TypeOfPaymentID 31: Use for traditional bank transfers. Can also process as PIX internally if recipient bank supports it.
- TypeOfPaymentID 42: Exclusive for PIX key transfers. CNPJ key:
PixTypeIdCPF +RecipientCompany. Do NOT include bank account fields when using this method. - All Brazil-bound orders require RecipientTIN (CPF/CNPJ) — universal for BR; also send RecipientDocument1Type and RecipientDocument1Number where your corridor rules apply (e.g. TED)
TypeOfPaymentID = 31 (Bank deposit / TED — Brazil)
Required Fields:
- RecipientBankName
- RecipientBankRouting (Bank code - 3 digits)
- RecipientBranchID (Agency with check digit, e.g., "1234-5")
- RecipientBankAccountNo (Account with check digit, e.g., "12345678-9")
- RecipientBankAccoutType (checking/savings)
- RecipientTIN (CPF or CNPJ — mandatory for all Brazil orders, not only TED)
- RecipientDocument1Type = "CPF" or "CNPJ"
- RecipientDocument1Number
Processing:
- Processing Time: 30 minutes to 2 hours
- Maximum Amount: Typically $10,000 (partner-specific)
- Validation: Serasa validation for CPF/CNPJ
- Brazil only
Bank Code Examples:
- 001 = Banco do Brasil
- 237 = Bradesco
- 341 = Itaú
- 104 = Caixa Econômica Federal
- 033 = Santander
- 260 = Nubank
- 077 = Banco Inter
Account Format:
- Bank code: 3 digits
- Branch (Agency): 4-5 digits + check digit (e.g., "1234-5")
- Account: 8-12 digits + check digit (e.g., "12345678-9")
TypeOfPaymentID = 42 (PIX - Brazil Instant Payment)
Required Fields:
- PixTypeId (PIX key type: "CPF", "PHONE", "EMAIL", or "RANDOMKEY")
- PixId (The PIX key value; for CNPJ use 14 digits with PixTypeId CPF)
- RecipientCountry = "BR"
- RecipientDocument1Type = "CPF"
- RecipientDocument1Number
- RecipientTIN (CPF or CNPJ of the beneficiary — mandatory on every Brazil order, all rails)
- RecipientCompany — required when the PIX key is CNPJ (same PixTypeId CPF as for individual CPF keys)
PROHIBITED Fields (must be empty or omitted):
- RecipientBankName
- RecipientBankRouting
- RecipientBankAccountNo
- RecipientBranchID
- RecipientBankAccoutType
PIX Key Types (TypeOfPaymentID 42):
<!-- CPF as PIX Key -->
<PixTypeId>CPF</PixTypeId>
<PixId>12345678901</PixId>
<!-- CNPJ as PIX Key: PixTypeId is still CPF; RecipientCompany is required -->
<PixTypeId>CPF</PixTypeId>
<PixId>11222333000181</PixId>
<RecipientCompany>Empresa Exemplo LTDA</RecipientCompany>
<!-- Phone as PIX Key -->
<PixTypeId>PHONE</PixTypeId>
<PixId>+5511999999999</PixId>
<!-- Email as PIX Key -->
<PixTypeId>EMAIL</PixTypeId>
<PixId>recipient@email.com</PixId>
<!-- Random Key as PIX Key -->
<PixTypeId>RANDOMKEY</PixTypeId>
<PixId>123e4567-e89b-12d3-a456-426614174000</PixId>
PIX Key Validation:
| PixTypeId | Format | Example | Validation |
|---|---|---|---|
| CPF | 11 digits (CPF) or 14 digits (CNPJ) | "12345678901" / CNPJ with PixTypeId CPF | Individual CPF key: valid CPF. CNPJ key: same PixTypeId value CPF, CNPJ in PixId, plus RecipientCompany |
| PHONE | International format | "+5511999999999" | Must include country code +55 |
| Valid email | "user@domain.com" | Must be valid email format | |
| RANDOMKEY | UUID | "123e4567-e89b-12d3-a456-426614174000" | Must be valid UUID |
Processing:
- Instant payment - Typically processed in 5-30 minutes
- Brazil only - RecipientCountry must be "BR"
- No bank account details needed - Only PIX key required
- Lower fees - Typically cheaper than TED/DOC
- 24/7 availability - Works on weekends and holidays
Error Codes:
- 7001: PIX id is required
- 7002: PixTypeId must be CPF, PHONE, EMAIL or RANDOMKEY
- 7003: Invalid PixTypeId value
- 7004: RecipientCountry must be BR for PIX
- 7005: Bank information must be empty for PIX transactions
- 7006: Invalid CPF format for PixId
- 7007: Invalid phone format for PixId
United States (US) - Available Payment Methods
| TypeOfPaymentID | Payment Method | Description | Processing Time | Cost |
|---|---|---|---|---|
| 747 | ACH Transfer | Automated Clearing House - Standard bank transfer | 1-3 business days | Lowest |
| 744 | Instant Payments (e.g. FedNow, RTP) | U.S. instant payment rails (e.g. FedNow, RTP; 24/7/365) | Real-time | Higher |
Important Notes for United States:
- TypeOfPaymentID values may vary by partner - use GetCurrencyTypesOfPayment to confirm your available IDs
- All US methods require: RecipientBankName, RecipientBankRouting (9-digit ABA), RecipientBankAccountNo, RecipientBankAccoutType
- RecipientBankRouting must be a valid 9-digit ABA routing number
- RecipientBankAccoutType: "checking" or "savings" (or numeric: 1 = checking, 2 = savings)
TypeOfPaymentID = 747 (ACH Transfer - United States)
Note: TypeOfPaymentID for ACH is 747. Use GetCurrencyTypesOfPayment to confirm your available IDs.
Required Fields:
- RecipientFirstName
- RecipientLastName
- RecipientBankName
- RecipientBankRouting (9-digit ABA routing number)
- RecipientBankAccountNo
- RecipientBankAccoutType ("checking" or "savings")
- RecipientCountry = "US"
Optional Fields:
- RecipientTIN (SSN for tax reporting)
- RecipientBankAddress
Processing:
- Processing Time: 1-3 business days
- Maximum Amount: Typically $15,000 (partner-specific)
- Validation: GIACT real-time bank account validation
- Business Days Only: Monday-Friday (excluding US bank holidays)
ABA Routing Number:
- 9 digits (e.g., "021000021" for JPMorgan Chase)
- First 4 digits identify Federal Reserve routing symbol
- Next 4 digits identify the bank
- Last digit is a check digit
Common US Banks:
- 021000021 = JPMorgan Chase
- 026009593 = Bank of America
- 111000025 = Wells Fargo
- 121000248 = Citibank
- 031201360 = PNC Bank
- 044000037 = US Bank
Notes:
- Most economical option for US bank transfers
- Not instant - funds arrive in 1-3 business days
- GIACT validation required - Invalid accounts will be rejected
- No weekend processing - Orders placed Friday will process Monday
Common Errors:
- 1054: GIACT validation failed (invalid routing or account number)
- 1055: Bank account closed or frozen
- 1056: Routing number not found
TypeOfPaymentID = 744 (Instant Payments — United States; e.g. FedNow, RTP)
Note: TypeOfPaymentID 744 is commonly used for U.S. Instant Payments (instant rails such as FedNow or RTP). IDs may vary by partner — use GetCurrencyTypesOfPayment to confirm your available IDs.
Required Fields:
- RecipientFirstName
- RecipientLastName
- RecipientBankName
- RecipientBankRouting (9-digit ABA routing number)
- RecipientBankAccountNo
- RecipientBankAccoutType ("checking" or "savings")
- RecipientCountry = "US"
Processing:
- Processing Time: Real-time (seconds to minutes)
- Availability: 24/7/365 including weekends and holidays
- Maximum Amount: Typically $25,000 (partner-specific)
Notes:
- NEW service launched in 2023
- Instant settlement - funds available immediately
- 24/7 availability - works on weekends and holidays
- Higher fees than ACH (typical for instant rails)
- Not all banks participate in every U.S. instant payment rail yet (e.g. FedNow, RTP) — check recipient bank compatibility
US Bank Account Example:
<RecipientFirstName>Jane</RecipientFirstName>
<RecipientLastName>Doe</RecipientLastName>
<RecipientCountry>US</RecipientCountry>
<RecipientBankName>Chase Bank</RecipientBankName>
<RecipientBankRouting>021000021</RecipientBankRouting>
<RecipientBankAccountNo>123456789012</RecipientBankAccountNo>
<RecipientBankAccoutType>checking</RecipientBankAccoutType>
<TypeOfPaymentID>YOUR_PARTNER_ACH_ID</TypeOfPaymentID>
How to Get Your TypeOfPaymentID Values
Step 1: Call GetCurrencyTypesOfPayment with your credentials:
<GetCurrencyTypesOfPayment>
<AgentID>YOUR_AGENT_ID</AgentID>
<PartnerID>YOUR_PARTNER_ID</PartnerID>
<SenderCountry>US</SenderCountry>
<RecipientCountry>BR</RecipientCountry>
</GetCurrencyTypesOfPayment>
Step 2: Parse the response to get available TypeOfPaymentID values:
<PaymentMethod>
<TypeOfPaymentID>31</TypeOfPaymentID>
<TypeOfPaymentText>Bank Deposit (TED/DOC/PIX)</TypeOfPaymentText>
<MaxAmountSent>10000.00</MaxAmountSent>
</PaymentMethod>
Step 3: Use the TypeOfPaymentID in CreateNewOrder
Best Practice: Cache TypeOfPaymentID values per corridor and refresh daily.
Complete CreateNewOrder SOAP samples (by payment method)
These envelopes mirror typical production shapes for each rail. All values are fictional (including UserName, Password, AgentID, and PartnerID). Replace them with your credentials and corridor data. Always confirm TypeOfPaymentID and fee/rate fields with GetCurrencyTypesOfPayment and your agreement.
Brazil: any order with RecipientCountry = BR must include RecipientTIN (CPF or CNPJ) — the Brazil examples below all show this field.
PIX CNPJ: use PixTypeId CPF with the 14-digit CNPJ in PixId, and send RecipientCompany (legal name), as described earlier in this page.
Brazil — TED / bank deposit (TypeOfPaymentID 31)
Brazil bank account (TED): In production, bank details must be valid for the beneficiary and corridor. For non-production testing, use the banking block in the samples below (same style as data from the 4devs bank account generator (Brazil)). When TED bank validation runs, incorrect data usually returns 2225 among the result codes. Layout for checking TED: bank code, branch, account number, account type, and bank name — see the snippet and SOAP sample below.
<RecipientBankName>Banco do Brasil</RecipientBankName>
<RecipientBankRouting>001</RecipientBankRouting>
<RecipientBranchID>4693</RecipientBranchID>
<RecipientBankAccountNo>1099607-9</RecipientBankAccountNo>
<RecipientBankAccoutType>checking</RecipientBankAccoutType>
SOAP request (illustrative — replace your_api_username and your_api_password with your API credentials; replace AgentID and PartnerID with your program IDs; other values are fictional):
<?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: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>YOUR_AGENT_ID</AgentID>
<PartnerID>YOUR_PARTNER_ID</PartnerID>
<AgentOrderReference>TEST-BR-TED-SAND-001</AgentOrderReference>
<OrderCreationTime>2026-04-13 10:00:00.000</OrderCreationTime>
<SenderLastName>SMITH</SenderLastName>
<SenderFirstName>JOHN</SenderFirstName>
<SenderAddress>123 MAIN ST</SenderAddress>
<SenderCity>NEW YORK</SenderCity>
<SenderState>NY</SenderState>
<SenderCountry>US</SenderCountry>
<SenderPhone1>2125550100</SenderPhone1>
<SenderDateOfBirth>1990-01-15</SenderDateOfBirth>
<RecipientFirstName>JOAO</RecipientFirstName>
<RecipientLastName>SILVA</RecipientLastName>
<RecipientAddress1>RUA EXEMPLO 100</RecipientAddress1>
<RecipientCity>Cascavel</RecipientCity>
<RecipientState>BR-PR</RecipientState>
<RecipientCountry>BR</RecipientCountry>
<RecipientPhone1>5511999999999</RecipientPhone1>
<RecipientTIN>03374713041</RecipientTIN>
<RecipientDocument1Type>CPF</RecipientDocument1Type>
<RecipientDocument1Number>03374713041</RecipientDocument1Number>
<RecipientBankName>Banco do Brasil</RecipientBankName>
<RecipientBankRouting>001</RecipientBankRouting>
<RecipientBranchID>4693</RecipientBranchID>
<RecipientBankAccountNo>1099607-9</RecipientBankAccountNo>
<RecipientBankAccoutType>checking</RecipientBankAccoutType>
<CurrencySent>USD</CurrencySent>
<NetAmountSent>100.00</NetAmountSent>
<AmountReceived>550.00</AmountReceived>
<ExchangeRateSender>5.50</ExchangeRateSender>
<ExchangeRateAgent>5.50</ExchangeRateAgent>
<TotalFeeAgent>0.00</TotalFeeAgent>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<TypeOfPaymentID>31</TypeOfPaymentID>
</CreateNewOrder>
</soap:Body>
</soap:Envelope>
Brazil — PIX with CPF key (TypeOfPaymentID 42)
SOAP request (illustrative — all data is fictional):
<?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>northern_union_api</UserName>
<Password>P@ss-Demo-99-NotReal</Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<CreateNewOrder xmlns="http://mts.geobridge.org/">
<AgentID>YOUR_AGENT_ID</AgentID>
<PartnerID>YOUR_PARTNER_ID</PartnerID>
<AgentOrderReference>DEMO_BR_PIX_CPF_01</AgentOrderReference>
<OrderCreationTime>2026-03-18 16:05:33.120</OrderCreationTime>
<SenderLastName>WILSON</SenderLastName>
<SenderFirstName>ROBERT</SenderFirstName>
<SenderAddress>900 OAK RIDGE RD</SenderAddress>
<SenderCity>AUSTIN</SenderCity>
<SenderState>TX</SenderState>
<SenderZip>78701</SenderZip>
<SenderCountry>US</SenderCountry>
<TotalFeeAgent>0</TotalFeeAgent>
<ExchangeRateAgent>5.412</ExchangeRateAgent>
<ExchangeRateSender>5.412</ExchangeRateSender>
<SenderPhone1>5125550142</SenderPhone1>
<SenderPhone2></SenderPhone2>
<SenderDateOfBirth>1992-11-03</SenderDateOfBirth>
<SenderDocument1Type>Passport</SenderDocument1Type>
<SenderDocument1Number>XK882991</SenderDocument1Number>
<RecipientLastName>FERREIRA</RecipientLastName>
<RecipientFirstName>BEATRIZ</RecipientFirstName>
<RecipientAddress1>Av. Atlântica 1200</RecipientAddress1>
<RecipientCity>Rio de Janeiro</RecipientCity>
<RecipientState>RJ</RecipientState>
<RecipientZip>22021001</RecipientZip>
<RecipientCountry>BR</RecipientCountry>
<RecipientPhone1>5521984432211</RecipientPhone1>
<RecipientDocument1Type>CPF</RecipientDocument1Type>
<RecipientDocument1Number>39188804088</RecipientDocument1Number>
<PixTypeId>CPF</PixTypeId>
<PixId>39188804088</PixId>
<RecipientTIN>39188804088</RecipientTIN>
<NetAmountSent>750</NetAmountSent>
<AmountReceived>4059.00</AmountReceived>
<CurrencySent>USD</CurrencySent>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<CurrencyOfPaymentID>2</CurrencyOfPaymentID>
<TypeOfPaymentID>42</TypeOfPaymentID>
<TypeOfPaymentText>PIX</TypeOfPaymentText>
</CreateNewOrder>
</soap:Body>
</soap:Envelope>
Brazil — PIX with CNPJ key (TypeOfPaymentID 42)
SOAP request (illustrative — all data is fictional):
<?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>northern_union_api</UserName>
<Password>P@ss-Demo-99-NotReal</Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<CreateNewOrder xmlns="http://mts.geobridge.org/">
<AgentID>YOUR_AGENT_ID</AgentID>
<PartnerID>YOUR_PARTNER_ID</PartnerID>
<AgentOrderReference>DEMO_BR_PIX_CNPJ_01</AgentOrderReference>
<OrderCreationTime>2026-03-19 09:22:00.000</OrderCreationTime>
<SenderLastName>MARTINEZ</SenderLastName>
<SenderFirstName>ELENA</SenderFirstName>
<SenderAddress>15 MAPLE ST</SenderAddress>
<SenderCity>DENVER</SenderCity>
<SenderState>CO</SenderState>
<SenderZip>80202</SenderZip>
<SenderCountry>US</SenderCountry>
<TotalFeeAgent>0</TotalFeeAgent>
<ExchangeRateAgent>5.395</ExchangeRateAgent>
<ExchangeRateSender>5.395</ExchangeRateSender>
<SenderPhone1>3035557788</SenderPhone1>
<SenderPhone2></SenderPhone2>
<SenderDateOfBirth>1985-04-18</SenderDateOfBirth>
<SenderDocument1Type>Passport</SenderDocument1Type>
<SenderDocument1Number>AB7711442</SenderDocument1Number>
<RecipientLastName>LIMA</RecipientLastName>
<RecipientFirstName>ANA</RecipientFirstName>
<RecipientCompany>PADARIA CENTRAL LTDA</RecipientCompany>
<RecipientAddress1>Rua do Comércio 88</RecipientAddress1>
<RecipientCity>Belo Horizonte</RecipientCity>
<RecipientState>MG</RecipientState>
<RecipientZip>30112000</RecipientZip>
<RecipientCountry>BR</RecipientCountry>
<RecipientPhone1>5531981122334</RecipientPhone1>
<RecipientDocument1Type>CPF</RecipientDocument1Type>
<RecipientDocument1Number>86528376091</RecipientDocument1Number>
<PixTypeId>CPF</PixTypeId>
<PixId>60789423000156</PixId>
<RecipientTIN>60789423000156</RecipientTIN>
<NetAmountSent>420</NetAmountSent>
<AmountReceived>2265.90</AmountReceived>
<CurrencySent>USD</CurrencySent>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<CurrencyOfPaymentID>2</CurrencyOfPaymentID>
<TypeOfPaymentID>42</TypeOfPaymentID>
<TypeOfPaymentText>PIX</TypeOfPaymentText>
</CreateNewOrder>
</soap:Body>
</soap:Envelope>
United States — Instant Payments (TypeOfPaymentID 744)
SOAP request (illustrative — all data is fictional):
<?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:Header>
<AuthHeader xmlns="http://mts.geobridge.org/">
<UserName>northern_union_api</UserName>
<Password>P@ss-Demo-99-NotReal</Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<CreateNewOrder xmlns="http://mts.geobridge.org/">
<AgentID>YOUR_AGENT_ID</AgentID>
<PartnerID>YOUR_PARTNER_ID</PartnerID>
<AgentOrderReference>DEMO_US_INSTANT_01</AgentOrderReference>
<OrderCreationTime>2026-03-21 14:30:00.000</OrderCreationTime>
<SenderFirstName>VICTOR</SenderFirstName>
<SenderLastName>NGUYEN</SenderLastName>
<SenderAddress>400 LAKEVIEW DR</SenderAddress>
<SenderCity>MADISON</SenderCity>
<SenderState>WI</SenderState>
<SenderZip>53703</SenderZip>
<SenderCountry>US</SenderCountry>
<SenderPhone1>6085552200</SenderPhone1>
<SenderEmail></SenderEmail>
<RecipientLastName>PATEL</RecipientLastName>
<RecipientFirstName>PRIYA</RecipientFirstName>
<RecipientAddress1>88 RIVER RD</RecipientAddress1>
<RecipientCity>MILWAUKEE</RecipientCity>
<RecipientState>WI</RecipientState>
<RecipientZip>53202</RecipientZip>
<RecipientCountry>US</RecipientCountry>
<RecipientPhone1>4145558899</RecipientPhone1>
<RecipientEmail></RecipientEmail>
<RecipientBankRouting>075000019</RecipientBankRouting>
<RecipientBankAccountNo>9988776655443322</RecipientBankAccountNo>
<RecipientBankAccoutType>checking</RecipientBankAccoutType>
<RecipientBankName>ASSOCIATED BANK</RecipientBankName>
<NetAmountSent>1250.50</NetAmountSent>
<TotalFeeSender>0</TotalFeeSender>
<TotalCollectedFromSender>1250.50</TotalCollectedFromSender>
<ExchangeRateSender>1</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<ExchangeRateAgent>1</ExchangeRateAgent>
<TotalFeeAgent>0</TotalFeeAgent>
<AmountReceived>1250.50</AmountReceived>
<TotalPaidToRecipient>1250.50</TotalPaidToRecipient>
<CurrencyOfPayment>USD</CurrencyOfPayment>
<TypeOfPaymentID>744</TypeOfPaymentID>
</CreateNewOrder>
</soap:Body>
</soap:Envelope>
United States — ACH (TypeOfPaymentID 747; confirm with GetCurrencyTypesOfPayment)
SOAP request (illustrative — all data is fictional):
<?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:Header>
<AuthHeader xmlns="http://mts.geobridge.org/">
<UserName>northern_union_api</UserName>
<Password>P@ss-Demo-99-NotReal</Password>
</AuthHeader>
</soap:Header>
<soap:Body>
<CreateNewOrder xmlns="http://mts.geobridge.org/">
<AgentID>YOUR_AGENT_ID</AgentID>
<PartnerID>YOUR_PARTNER_ID</PartnerID>
<AgentOrderReference>DEMO_US_ACH_02</AgentOrderReference>
<OrderCreationTime>2026-03-22 08:45:12.000</OrderCreationTime>
<SenderFirstName>SAMUEL</SenderFirstName>
<SenderLastName>OKONKWO</SenderLastName>
<SenderAddress>77 PINE ST</SenderAddress>
<SenderCity>PORTLAND</SenderCity>
<SenderState>OR</SenderState>
<SenderZip>97201</SenderZip>
<SenderCountry>US</SenderCountry>
<SenderPhone1>5035554411</SenderPhone1>
<SenderEmail></SenderEmail>
<RecipientLastName>CHEN</RecipientLastName>
<RecipientFirstName>MEI</RecipientFirstName>
<RecipientAddress1>2200 SW MAIN</RecipientAddress1>
<RecipientCity>SEATTLE</RecipientCity>
<RecipientState>WA</RecipientState>
<RecipientZip>98104</RecipientZip>
<RecipientCountry>US</RecipientCountry>
<RecipientPhone1>2065559033</RecipientPhone1>
<RecipientEmail></RecipientEmail>
<RecipientBankRouting>325070760</RecipientBankRouting>
<RecipientBankAccountNo>4455667788990011</RecipientBankAccountNo>
<RecipientBankAccoutType>savings</RecipientBankAccoutType>
<RecipientBankName>JPMORGAN CHASE BANK</RecipientBankName>
<NetAmountSent>3200.00</NetAmountSent>
<TotalFeeSender>0</TotalFeeSender>
<TotalCollectedFromSender>3200.00</TotalCollectedFromSender>
<ExchangeRateSender>1</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<ExchangeRateAgent>1</ExchangeRateAgent>
<TotalFeeAgent>0</TotalFeeAgent>
<AmountReceived>3200.00</AmountReceived>
<TotalPaidToRecipient>3200.00</TotalPaidToRecipient>
<CurrencyOfPayment>USD</CurrencyOfPayment>
<TypeOfPaymentID>747</TypeOfPaymentID>
</CreateNewOrder>
</soap:Body>
</soap:Envelope>
Note (ACH ID): This sample uses 747, consistent with the GetCurrencyTypesOfPayment reference for U.S. ACH on the Inter Mass Payments corridor. Your tenant may return a different numeric ID — always send the TypeOfPaymentID from your own GetCurrencyTypesOfPayment response.
Request Examples
Example 1: Successful Bank Deposit to 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>
<CreateNewOrder xmlns="http://mts.geobridge.org/">
<!-- Authentication -->
<AgentID>YOUR_AGENT_ID</AgentID>
<PartnerID>YOUR_PARTNER_ID</PartnerID>
<AgentOrderReference>REF-2025-001234</AgentOrderReference>
<OrderCreationTime>2025-11-05T10:30:00</OrderCreationTime>
<!-- Sender Information -->
<SenderUID>SENDER-12345</SenderUID>
<SenderFirstName>John</SenderFirstName>
<SenderLastName>Smith</SenderLastName>
<SenderAddress>123 Main Street</SenderAddress>
<SenderCity>New York</SenderCity>
<SenderState>NY</SenderState>
<SenderZip>10001</SenderZip>
<SenderCountry>US</SenderCountry>
<SenderPhone1>2125551234</SenderPhone1>
<SenderEmail>john.smith@email.com</SenderEmail>
<SenderDateOfBirth>1980-05-15</SenderDateOfBirth>
<SenderGender>M</SenderGender>
<SenderDocument1Type>SSN</SenderDocument1Type>
<SenderDocument1Number>123-45-6789</SenderDocument1Number>
<SenderOccupation>Software Engineer</SenderOccupation>
<!-- Recipient Information -->
<RecipientUID>RECIPIENT-67890</RecipientUID>
<RecipientFirstName>Maria</RecipientFirstName>
<RecipientLastName>Silva</RecipientLastName>
<RecipientAddress1>Rua das Flores, 456</RecipientAddress1>
<RecipientCity>São Paulo</RecipientCity>
<RecipientState>SP</RecipientState>
<RecipientZip>01310-100</RecipientZip>
<RecipientCountry>BR</RecipientCountry>
<RecipientPhone1>11987654321</RecipientPhone1>
<RecipientEmail>maria.silva@email.com</RecipientEmail>
<RecipientDocument1Type>CPF</RecipientDocument1Type>
<RecipientDocument1Number>123.456.789-00</RecipientDocument1Number>
<RecipientTIN>12345678900</RecipientTIN>
<!-- Bank Information -->
<RecipientBankName>Banco do Brasil</RecipientBankName>
<RecipientBankRouting>001</RecipientBankRouting>
<RecipientBranchID>1234-5</RecipientBranchID>
<RecipientBankAccountNo>12345678-9</RecipientBankAccountNo>
<RecipientBankAccoutType>checking</RecipientBankAccoutType>
<!-- Transaction Amounts -->
<NetAmountSent>1000.00</NetAmountSent>
<TotalFeeSender>15.00</TotalFeeSender>
<TotalCollectedFromSender>1015.00</TotalCollectedFromSender>
<ExchangeRateSender>5.25</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<AmountReceived>5250.00</AmountReceived>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<CurrencyOfPaymentID>1</CurrencyOfPaymentID>
<ExchangeRateAgent>5.25</ExchangeRateAgent>
<TotalFeeAgent>0.00</TotalFeeAgent>
<!-- Payment Method -->
<TypeOfPaymentID>31</TypeOfPaymentID>
<TypeOfPaymentText>Bank Deposit (TED/DOC/PIX)</TypeOfPaymentText>
<!-- Compliance Information -->
<RelationshipToSender>Sister</RelationshipToSender>
<PurposeOfOrder>Family Support</PurposeOfOrder>
<OrderFundSource>Salary</OrderFundSource>
</CreateNewOrder>
</soap:Body>
</soap:Envelope>
SOAP Response (Success - Auto-Released):
<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-2025-001234</AgentOrderReference>
<OrderID>987654321</OrderID>
<OrderProcessingTime>2025-11-05T10:30:15.0000000</OrderProcessingTime>
<NetAmountSent>1000.00</NetAmountSent>
<TotalFeeSender>15.00</TotalFeeSender>
<ExchangeRateSender>5.2500000</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<ExchangeRateAgent>5.2500000</ExchangeRateAgent>
<TotalFeeAgent>0.00</TotalFeeAgent>
<TotalDueFromAgent>1015.00</TotalDueFromAgent>
<AmountReceived>5250.00</AmountReceived>
<TotalRecipiententFee>0.00</TotalRecipiententFee>
<TotalPaidToRecipient>5250.00</TotalPaidToRecipient>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<CurrencyOfPaymentID>1</CurrencyOfPaymentID>
<PaymentInstructions>Funds will be deposited to Banco do Brasil account ending in 8-9</PaymentInstructions>
<TypeOfPaymentID>31</TypeOfPaymentID>
<OrderAcceptanceCode>A</OrderAcceptanceCode>
<OrderClaimCode></OrderClaimCode>
<TransactionResult></TransactionResult>
<ResultCodes>1001</ResultCodes>
<AdditionalMessage></AdditionalMessage>
<StatusCode>3</StatusCode>
<SenderUID>900100001</SenderUID>
<SenderLastName>Smith</SenderLastName>
<SenderFirstName>John</SenderFirstName>
<SenderCompanyName></SenderCompanyName>
<RecipientBillerAccountNo>900100002</RecipientBillerAccountNo>
<RecipientLastName>Silva</RecipientLastName>
<RecipientFirstName>Maria</RecipientFirstName>
<RecipientCompany></RecipientCompany>
</NewOrderResponse>
</CreateNewOrderResult>
</CreateNewOrderResponse>
</soap:Body>
</soap:Envelope>
Explanation:
- Order created successfully
- StatusCode 3 (Open) - Ready for payment
- Typical success
ResultCodesvalue is1001(exact codes may vary by scenario) OrderReceipt(base64 PDF) omitted for Mass Payments- Order will be sent to payer automatically when auto-released
Example 2: Order On Hold - OFAC Hit
SOAP Request: (Same as Example 1, but sender name matches OFAC list)
SOAP Response:
<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-2025-001235</AgentOrderReference>
<OrderID>987654322</OrderID>
<OrderProcessingTime>2025-11-05T11:00:00.0000000</OrderProcessingTime>
<NetAmountSent>1000.00</NetAmountSent>
<TotalFeeSender>15.00</TotalFeeSender>
<ExchangeRateSender>5.2500000</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<ExchangeRateAgent>5.2500000</ExchangeRateAgent>
<TotalFeeAgent>0.00</TotalFeeAgent>
<TotalDueFromAgent>1015.00</TotalDueFromAgent>
<AmountReceived>5250.00</AmountReceived>
<TotalRecipiententFee>0.00</TotalRecipiententFee>
<TotalPaidToRecipient>5250.00</TotalPaidToRecipient>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<CurrencyOfPaymentID>1</CurrencyOfPaymentID>
<PaymentInstructions></PaymentInstructions>
<TypeOfPaymentID>31</TypeOfPaymentID>
<OrderAcceptanceCode>A</OrderAcceptanceCode>
<OrderClaimCode></OrderClaimCode>
<TransactionResult></TransactionResult>
<ResultCodes>1051</ResultCodes>
<AdditionalMessage>Order on hold for compliance review - OFAC screening detected potential match</AdditionalMessage>
<StatusCode>2</StatusCode>
<SenderUID>900100001</SenderUID>
<SenderLastName>OFACLIST</SenderLastName>
<SenderFirstName>John</SenderFirstName>
<SenderCompanyName></SenderCompanyName>
<RecipientBillerAccountNo>900100002</RecipientBillerAccountNo>
<RecipientLastName>Silva</RecipientLastName>
<RecipientFirstName>Maria</RecipientFirstName>
<RecipientCompany></RecipientCompany>
</NewOrderResponse>
</CreateNewOrderResult>
</CreateNewOrderResponse>
</soap:Body>
</soap:Envelope>
Explanation:
- Order accepted but placed on hold
- StatusCode 2 (On Hold) - Manual review required
- ResultCode 1051 - OFAC hit detected
- Compliance team will review within 1-24 hours
Example 3: Order with bank validation system Bank Validation Failure
SOAP Response:
<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-2025-001236</AgentOrderReference>
<OrderID>987654323</OrderID>
<OrderProcessingTime>2025-11-05T12:00:00.0000000</OrderProcessingTime>
<NetAmountSent>1000.00</NetAmountSent>
<TotalFeeSender>15.00</TotalFeeSender>
<ExchangeRateSender>5.2500000</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<ExchangeRateAgent>5.2500000</ExchangeRateAgent>
<TotalFeeAgent>0.00</TotalFeeAgent>
<TotalDueFromAgent>1015.00</TotalDueFromAgent>
<AmountReceived>5250.00</AmountReceived>
<TotalRecipiententFee>0.00</TotalRecipiententFee>
<TotalPaidToRecipient>5250.00</TotalPaidToRecipient>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<CurrencyOfPaymentID>1</CurrencyOfPaymentID>
<PaymentInstructions></PaymentInstructions>
<TypeOfPaymentID>31</TypeOfPaymentID>
<OrderAcceptanceCode>A</OrderAcceptanceCode>
<OrderClaimCode></OrderClaimCode>
<TransactionResult></TransactionResult>
<ResultCodes>1054</ResultCodes>
<AdditionalMessage>Order on hold - Bank account validation failed. Please verify routing and account numbers.</AdditionalMessage>
<StatusCode>2</StatusCode>
<SenderUID>900100001</SenderUID>
<SenderLastName>Smith</SenderLastName>
<SenderFirstName>John</SenderFirstName>
<SenderCompanyName></SenderCompanyName>
<RecipientBillerAccountNo>900100002</RecipientBillerAccountNo>
<RecipientLastName>Silva</RecipientLastName>
<RecipientFirstName>Maria</RecipientFirstName>
<RecipientCompany></RecipientCompany>
</NewOrderResponse>
</CreateNewOrderResult>
</CreateNewOrderResponse>
</soap:Body>
</soap:Envelope>
Explanation:
- Order accepted but on hold
- StatusCode 2 (On Hold)
- ResultCode 1054 - Bank validation failed
- Partner should verify bank account details with customer
Example 4: PIX Transfer via CPF Key (TypeOfPaymentID 42)
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>
<CreateNewOrder xmlns="http://mts.geobridge.org/">
<!-- Authentication -->
<AgentID>YOUR_AGENT_ID</AgentID>
<PartnerID>YOUR_PARTNER_ID</PartnerID>
<AgentOrderReference>REF-2025-PIX-001</AgentOrderReference>
<OrderCreationTime>2025-11-05T14:30:00</OrderCreationTime>
<!-- Sender Information -->
<SenderUID>SENDER-12345</SenderUID>
<SenderFirstName>John</SenderFirstName>
<SenderLastName>Smith</SenderLastName>
<SenderAddress>123 Main Street</SenderAddress>
<SenderCity>New York</SenderCity>
<SenderState>NY</SenderState>
<SenderZip>10001</SenderZip>
<SenderCountry>US</SenderCountry>
<SenderPhone1>2125551234</SenderPhone1>
<SenderEmail>john.smith@email.com</SenderEmail>
<SenderDateOfBirth>1980-05-15</SenderDateOfBirth>
<SenderDocument1Type>SSN</SenderDocument1Type>
<SenderDocument1Number>123-45-6789</SenderDocument1Number>
<!-- Recipient Information -->
<RecipientUID>RECIPIENT-PIX-001</RecipientUID>
<RecipientFirstName>Carlos</RecipientFirstName>
<RecipientLastName>Santos</RecipientLastName>
<RecipientAddress1>Av. Paulista, 1000</RecipientAddress1>
<RecipientCity>São Paulo</RecipientCity>
<RecipientState>SP</RecipientState>
<RecipientZip>01310-100</RecipientZip>
<RecipientCountry>BR</RecipientCountry>
<RecipientPhone1>11987654321</RecipientPhone1>
<RecipientEmail>carlos.santos@email.com</RecipientEmail>
<RecipientDocument1Type>CPF</RecipientDocument1Type>
<RecipientDocument1Number>123.456.789-00</RecipientDocument1Number>
<RecipientTIN>12345678900</RecipientTIN>
<!-- PIX Information - NO BANK FIELDS -->
<PixTypeId>CPF</PixTypeId>
<PixId>12345678900</PixId>
<!-- Transaction Amounts -->
<NetAmountSent>500.00</NetAmountSent>
<TotalFeeSender>10.00</TotalFeeSender>
<TotalCollectedFromSender>510.00</TotalCollectedFromSender>
<ExchangeRateSender>5.25</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<AmountReceived>2625.00</AmountReceived>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<CurrencyOfPaymentID>1</CurrencyOfPaymentID>
<ExchangeRateAgent>5.25</ExchangeRateAgent>
<TotalFeeAgent>0.00</TotalFeeAgent>
<!-- Payment Method - PIX -->
<TypeOfPaymentID>42</TypeOfPaymentID>
<TypeOfPaymentText>PIX</TypeOfPaymentText>
<!-- Compliance Information -->
<RelationshipToSender>Friend</RelationshipToSender>
<PurposeOfOrder>Gift</PurposeOfOrder>
<OrderFundSource>Savings</OrderFundSource>
</CreateNewOrder>
</soap:Body>
</soap:Envelope>
SOAP Response (Success):
<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-2025-PIX-001</AgentOrderReference>
<OrderID>987654324</OrderID>
<OrderProcessingTime>2025-11-05T14:30:08.0000000</OrderProcessingTime>
<NetAmountSent>500.00</NetAmountSent>
<TotalFeeSender>10.00</TotalFeeSender>
<ExchangeRateSender>5.2500000</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<ExchangeRateAgent>5.2500000</ExchangeRateAgent>
<TotalFeeAgent>0.00</TotalFeeAgent>
<TotalDueFromAgent>510.00</TotalDueFromAgent>
<AmountReceived>2625.00</AmountReceived>
<TotalRecipiententFee>0.00</TotalRecipiententFee>
<TotalPaidToRecipient>2625.00</TotalPaidToRecipient>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<CurrencyOfPaymentID>1</CurrencyOfPaymentID>
<PaymentInstructions>Funds will be sent via PIX to CPF key ***.***.789-00</PaymentInstructions>
<TypeOfPaymentID>42</TypeOfPaymentID>
<OrderAcceptanceCode>A</OrderAcceptanceCode>
<OrderClaimCode></OrderClaimCode>
<TransactionResult></TransactionResult>
<ResultCodes>1001</ResultCodes>
<AdditionalMessage></AdditionalMessage>
<StatusCode>3</StatusCode>
<SenderUID>900100001</SenderUID>
<SenderLastName>Smith</SenderLastName>
<SenderFirstName>John</SenderFirstName>
<SenderCompanyName></SenderCompanyName>
<RecipientBillerAccountNo>900100002</RecipientBillerAccountNo>
<RecipientLastName>Santos</RecipientLastName>
<RecipientFirstName>Carlos</RecipientFirstName>
<RecipientCompany></RecipientCompany>
</NewOrderResponse>
</CreateNewOrderResult>
</CreateNewOrderResponse>
</soap:Body>
</soap:Envelope>
Explanation:
- TypeOfPaymentID 42 used for PIX key transfer
- NO bank account fields included (RecipientBankName, RecipientBankRouting, etc.)
- PixTypeId and PixId are required for PIX transfers
- PIX transfers typically process in 5-30 minutes
- Faster than traditional bank transfers (TED/DOC)
Important: When using TypeOfPaymentID 42 (PIX), you MUST NOT include any bank account fields. For CNPJ keys, still send PixTypeId CPF and add RecipientCompany as documented above.
Example 5: Error - Duplicate AgentOrderReference (3104)
SOAP Request: (Using an AgentOrderReference that is already in use for your partner)
SOAP Response: (CreateNewOrderResponse with business error — not a SOAP fault)
<?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>
<Error xmlns="">
<ResultCodes>3104 - AgentOrderReference already used</ResultCodes>
<ResultMessage>Invalid Inputs - Order Rejected</ResultMessage>
</Error>
</CreateNewOrderResult>
</CreateNewOrderResponse>
</soap:Body>
</soap:Envelope>
Example 6: Error - Credit Limit Exceeded
SOAP Response:
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Credit limit exceeded</faultstring>
<detail>
<ErrorCode>4101</ErrorCode>
<ErrorMessage>Your current credit limit is insufficient for this transaction. Current balance: $5,234.50. Order amount: $1,015.00. Available credit: $0.00. Please make a payment or contact finance to increase your limit.</ErrorMessage>
</detail>
</soap:Fault>
Response Fields Explained
Order Identification
| Field | Description | Example |
|---|---|---|
| OrderID | Unique ID generated by MTS | 987654321 |
| AgentOrderReference | Your reference (echoed back) | "REF-2025-001234" |
| OrderProcessingTime | When order was processed; value is in PST (Pacific Standard Time) | "2025-11-05T10:30:15" |
Order Status
| Field | Description | Values |
|---|---|---|
| OrderAcceptanceCode | Was order accepted? | "A" = Accepted, "R" = Rejected |
| StatusCode | Current order status | 1-8 (see Status Codes table) |
| ResultCodes | Result code(s) | "1001", "1050", "1051", etc. |
| AdditionalMessage | Human-readable message | Explanation or instructions |
Payment Information
| Field | Description | When Provided |
|---|---|---|
| PaymentInstructions | Instructions for recipient | All orders (not applicable to Mass Payments) |
| OrderReceipt | PDF receipt (base64) | Omitted for Mass Payments |
Error Response Example
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Missing required field</faultstring>
<detail>
<ErrorCode>3001</ErrorCode>
<ErrorMessage>Required field 'SenderDateOfBirth' is missing for US → BR corridor with amount > $1000</ErrorMessage>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Business Rules
Amount Limits
| Corridor | Min Amount | Max Amount | Notes |
|---|---|---|---|
| US → BR (Bank) | $10.00 | $10,000.00 | Per transaction |
| US → BR (Cash) | $10.00 | $5,000.00 | Per transaction |
Note: Limits may vary by partner. Contact support for your specific limits.
Processing Time
| Status | Typical Duration | Notes |
|---|---|---|
| Verifying (8) | 5-30 minutes | LexisNexis compliance check |
| On Hold (2) | 1-24 hours | Manual review required |
| Open (3) | 10-60 minutes | Sent to payer automatically |
| Processing (4) | 5-120 minutes | Payment in progress |
| Paid (5) | Final | Transaction complete |
Integration Best Practices
1. Always Get Fresh Rates Before Creating Order
// ❌ BAD: Using old rates
const quote = await GetRatesAndCosts(params);
await showQuoteToCustomer(quote);
// ... customer takes 10 minutes to fill form ...
await CreateNewOrder({
...orderData,
ExchangeRateSender: quote.ExchangeRateSender,
});
// ✅ GOOD: Get fresh rates immediately before creating order
const quote = await GetRatesAndCosts(params);
await showQuoteToCustomer(quote);
// ... customer fills form ...
const freshQuote = await GetRatesAndCosts(params);
await CreateNewOrder({
...orderData,
ExchangeRateSender: freshQuote.ExchangeRateSender,
});
2. Use Unique AgentOrderReference
// Generate unique reference
function generateOrderReference() {
const timestamp = Date.now();
const random = Math.floor(Math.random() * 1000);
return `ORD-${timestamp}-${random}`;
}
// Store in database to prevent duplicates
async function createOrder(orderData) {
const reference = generateOrderReference();
// Check if reference exists in your database
const exists = await db.orders.findOne({ reference });
if (exists) {
return createOrder(orderData); // Regenerate
}
// Create order
const result = await CreateNewOrder({
...orderData,
AgentOrderReference: reference,
});
// Store in database
await db.orders.insert({
reference,
pontualOrderId: result.OrderID,
status: result.StatusCode,
});
return result;
}
5. Store OrderID for Future Reference
async function createAndStoreOrder(orderData) {
try {
const response = await CreateNewOrder(orderData);
// Store in your database
await db.orders.insert({
agentOrderReference: orderData.AgentOrderReference,
pontualOrderId: response.OrderID,
status: response.StatusCode,
statusText: getStatusText(response.StatusCode),
resultCodes: response.ResultCodes,
claimCode: response.OrderClaimCode,
createdAt: new Date(),
senderName: `${orderData.SenderFirstName} ${orderData.SenderLastName}`,
recipientName: `${orderData.RecipientFirstName} ${orderData.RecipientLastName}`,
amount: orderData.NetAmountSent,
currency: orderData.CurrencySent,
});
return response;
} catch (error) {
// Log error
await db.errors.insert({
agentOrderReference: orderData.AgentOrderReference,
errorCode: error.code,
errorMessage: error.message,
timestamp: new Date(),
});
throw error;
}
}
Testing
Related Methods
Before calling CreateNewOrder:
- GetActiveCountries - Verify destination country is supported
- GetCurrencyTypesOfPayment - Get available payment methods
- GetRatesAndCosts - Calculate costs and get exchange rates
After creating order:
- GetOrderStatus - Track order status
- GetOrderDetails - Get complete order information
- GetPaymentsByDate - Reconciliation
Support
- remittance@inter.co
- Guilherme Campos — guilherme.campos@inter.co
Last Updated: April 17, 2026 Version: 2.0