# GetOrderDetails Method
Overview
The GetOrderDetails method retrieves complete information about a previously created order, including sender details, recipient information, payment status, amounts, and compliance data. This is the most comprehensive method for obtaining order information.
Use Cases
- Customer Support: Retrieve full order details when customers call with questions
- Order Tracking: Display complete order information in your application
- Reconciliation: Verify order details for accounting and compliance
- Dispute Resolution: Get complete transaction history for investigations
- Audit Trail: Maintain detailed records of all transactions
Request Fields
| Field Name | Type (Length) | Option | Description |
|---|---|---|---|
| AgentID | Integer (9) | R | Your agent ID |
| PartnerID | Integer (9) | R | Your partner ID |
| OrderID | Integer (10) | C | Pontual's unique order ID. Required if AgentOrderReference is not provided |
| AgentOrderReference | Alpha (25) | C | Your unique order reference. Required if OrderID is not provided |
Note: You must provide either OrderID or AgentOrderReference.
Legend: R = Required, C = Conditional (one of OrderID or AgentOrderReference must be provided)
Response Fields
Order Identification
| Field Name | Type (Length) | Description |
|---|---|---|
| AgentID | Integer (9) | Your agent ID |
| PartnerID | Integer (9) | Your partner ID |
| OrderID | Integer (10) | Pontual's unique order ID |
| AgentOrderReference | Alpha (25) | Your unique order reference |
| OrderCreationTime | DateTime | When the order was created (ISO 8601 format) |
Sender Information
| Field Name | Type (Length) | Description |
|---|---|---|
| SenderUID | Alpha (50) | Your unique sender ID (if provided) |
| SenderFirstName | Alpha (50) | Sender's first name |
| SenderLastName | Alpha (80) | Sender's last name |
| SenderCompanyName | Alpha (80) | Sender's company name (if business) |
| SenderAddress | Alpha (255) | Sender's street address |
| SenderCity | Alpha (80) | Sender's city |
| SenderState | Alpha (50) | Sender's state/province |
| SenderZip | Alpha (50) | Sender's ZIP/postal code |
| SenderCountry | Alpha (2) | Sender's country (ISO 3166-1 alpha-2) |
| SenderPhone1 | Alpha (50) | Sender's primary phone |
| SenderPhone2 | Alpha (50) | Sender's secondary phone |
| SenderEmail | Alpha (80) | Sender's email address |
| SenderDateOfBirth | Date | Sender's date of birth (compliance) |
| SenderDocument1Type | Alpha (50) | Primary document type (e.g., "Passport", "DL") |
| SenderDocument1Issue | Alpha (50) | Primary document issuing authority |
| SenderDocument1Number | Alpha (50) | Primary document number |
| SenderDocument2Type | Alpha (50) | Secondary document type |
| SenderDocument2Issue | Alpha (50) | Secondary document issuing authority |
| SenderDocument2Number | Alpha (50) | Secondary document number |
Recipient Information
| Field Name | Type (Length) | Description |
|---|---|---|
| RecipientUID | Alpha (50) | Your unique recipient ID (if provided) |
| RecipientFirstName | Alpha (50) | Recipient's first name |
| RecipientLastName | Alpha (80) | Recipient's last name |
| RecipientCompany | Alpha (80) | Recipient's company name (if business) |
| RecipientAddress1 | Alpha (255) | Recipient's street address |
| RecipientCity | Alpha (80) | Recipient's city |
| RecipientState | Alpha (50) | Recipient's state/province |
| RecipientZip | Alpha (50) | Recipient's ZIP/postal code |
| RecipientCountry | Alpha (2) | Recipient's country (ISO 3166-1 alpha-2) |
| RecipientPhone1 | Alpha (50) | Recipient's primary phone |
| RecipientPhone2 | Alpha (50) | Recipient's secondary phone |
| RecipientEmail | Alpha (80) | Recipient's email address |
| RecipientDocument1Type | Alpha (50) | Primary document type |
| RecipientDocument1Issuer | Alpha (50) | Primary document issuing authority |
| RecipientDocument1Number | Alpha (50) | Primary document number |
| RecipientDocument2Type | Alpha (50) | Secondary document type |
| RecipientDocument2Issuer | Alpha (50) | Secondary document issuing authority |
| RecipientDocument2Number | Alpha (50) | Secondary document number |
Recipient Bank Information (for Bank Deposits)
| Field Name | Type (Length) | Description |
|---|---|---|
| RecipientBankName | Alpha (70) | Bank name |
| RecipientBankRouting | Alpha (50) | Routing number/ABA/SWIFT/Bank code |
| RecipientBranchID | Alpha (50) | Branch ID/Agency (required for certain countries) |
| RecipientBankAccountNo | Alpha (50) | Account number |
| RecipientBankAccountID | Integer (9) | Unique ID for saved account |
| RecipientTIN | Alpha (50) | Tax ID (SSN, CPF, CNPJ) |
| RecipientBankAccoutType | Alpha (50) | Account type ("checking" or "savings") |
Transaction Amounts
| Field Name | Type (Length) | Description |
|---|---|---|
| NetAmountSent | Decimal (15) | Principal amount sent (USD) |
| TotalFeeSender | Decimal (15) | Fees charged to sender |
| TotalCollectedFromSender | Decimal (15) | Total collected (NetAmountSent + TotalFeeSender) |
| ExchangeRateSender | Decimal (15) | Exchange rate for customer |
| CurrencySent | Alpha (3) | Currency sent (ISO 4217) |
| ExchangeRateAgent | Decimal (15) | Exchange rate for partner |
| TotalFeeAgent | Decimal (15) | Fees due to Pontual |
| TotalDueFromAgent | Decimal (15) | Amount due from partner |
| AmountReceived | Decimal (15) | Amount recipient receives (destination currency) |
| TotalRecipiententFee | Decimal (15) | Fees charged to recipient |
| TotalPaidToRecipient | Decimal (15) | Net amount paid to recipient |
| CurrencyOfPayment | Alpha (3) | Destination currency (ISO 4217) |
| CurrencyOfPaymentID | Integer (9) | Internal currency ID |
Payment Method & Status
| Field Name | Type (Length) | Description |
|---|---|---|
| TypeOfPaymentText | Alpha (60) | Payment method description (e.g., "Bank Deposit") |
| TypeOfPaymentID | Integer (9) | Payment method ID |
| PayLocationID | Integer (9) | Payment location ID (if applicable) |
| PaymentLocation | Alpha (80) | Payment location description |
| ChallengeQuestion | Alpha (100) | Security question (if applicable) |
| ChallengeAnswer | Alpha (50) | Security answer (if applicable) |
| MessageToRecipient | Alpha (200) | Custom message to recipient |
| PaymentInstructions | Alpha (200) | Payment instructions |
| StatusCode | Integer (9) | Current order status (see Status Codes below) |
| LastStatusUpdade | DateTime | Last status update timestamp |
SOAP Request/Response Examples
Example 1: Get Order Details by OrderID
Request:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetOrderDetails xmlns="http://tempuri.org/">
<AgentID>12345</AgentID>
<PartnerID>67890</PartnerID>
<AgentOrderReference></AgentOrderReference>
<OrderID>9876543</OrderID>
</GetOrderDetails>
</soap:Body>
</soap:Envelope>
Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetOrderDetailsResponse xmlns="http://tempuri.org/">
<GetOrderDetailsResult>
<OrderDetails>
<AgentID>12345</AgentID>
<PartnerID>67890</PartnerID>
<OrderID>9876543</OrderID>
<AgentOrderReference>TXN-2025-001234</AgentOrderReference>
<OrderCreationTime>2025-11-05T14:30:00</OrderCreationTime>
<!-- Sender Information -->
<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>1985-03-15</SenderDateOfBirth>
<SenderDocument1Type>Passport</SenderDocument1Type>
<SenderDocument1Number>123456789</SenderDocument1Number>
<!-- Recipient Information -->
<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>5511987654321</RecipientPhone1>
<RecipientEmail>maria.silva@email.com</RecipientEmail>
<!-- Bank Information (PIX) -->
<RecipientTIN>12345678901</RecipientTIN>
<TypeOfPaymentText>PIX - Instant Payment</TypeOfPaymentText>
<TypeOfPaymentID>42</TypeOfPaymentID>
<!-- Transaction Amounts -->
<NetAmountSent>500.00</NetAmountSent>
<TotalFeeSender>15.00</TotalFeeSender>
<TotalCollectedFromSender>515.00</TotalCollectedFromSender>
<ExchangeRateSender>5.25</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<AmountReceived>2625.00</AmountReceived>
<TotalRecipiententFee>0.00</TotalRecipiententFee>
<TotalPaidToRecipient>2625.00</TotalPaidToRecipient>
<CurrencyOfPayment>BRL</CurrencyOfPayment>
<!-- Status -->
<StatusCode>5</StatusCode>
<LastStatusUpdade>2025-11-05T14:45:00</LastStatusUpdade>
</OrderDetails>
</GetOrderDetailsResult>
</GetOrderDetailsResponse>
</soap:Body>
</soap:Envelope>
Example 2: Get Order Details by AgentOrderReference
Request:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetOrderDetails xmlns="http://tempuri.org/">
<AgentID>12345</AgentID>
<PartnerID>67890</PartnerID>
<AgentOrderReference>TXN-2025-001235</AgentOrderReference>
<OrderID></OrderID>
</GetOrderDetails>
</soap:Body>
</soap:Envelope>
Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetOrderDetailsResponse xmlns="http://tempuri.org/">
<GetOrderDetailsResult>
<OrderDetails>
<AgentID>12345</AgentID>
<PartnerID>67890</PartnerID>
<OrderID>9876544</OrderID>
<AgentOrderReference>TXN-2025-001235</AgentOrderReference>
<OrderCreationTime>2025-11-05T15:00:00</OrderCreationTime>
<!-- Sender Information -->
<SenderFirstName>Carlos</SenderFirstName>
<SenderLastName>Rodriguez</SenderLastName>
<SenderAddress>456 Oak Avenue</SenderAddress>
<SenderCity>Miami</SenderCity>
<SenderState>FL</SenderState>
<SenderZip>33101</SenderZip>
<SenderCountry>US</SenderCountry>
<SenderPhone1>3055551234</SenderPhone1>
<SenderEmail>carlos.rodriguez@email.com</SenderEmail>
<!-- Recipient Information -->
<RecipientFirstName>Juan</RecipientFirstName>
<RecipientLastName>Pérez</RecipientLastName>
<RecipientAddress1>Calle Principal 789</RecipientAddress1>
<RecipientCity>São Paulo</RecipientCity>
<RecipientState>SP</RecipientState>
<RecipientZip>01310-100</RecipientZip>
<RecipientCountry>BR</RecipientCountry>
<RecipientPhone1>525512345678</RecipientPhone1>
<RecipientBankName>Banco do Brasil</RecipientBankName>
<RecipientBankAccountNo>00000000000000000000</RecipientBankAccountNo>
<RecipientBankAccoutType>checking</RecipientBankAccoutType>
<TypeOfPaymentID>1</TypeOfPaymentID>
<!-- Transaction Amounts -->
<NetAmountSent>300.00</NetAmountSent>
<TotalFeeSender>10.00</TotalFeeSender>
<TotalCollectedFromSender>310.00</TotalCollectedFromSender>
<ExchangeRateSender>17.50</ExchangeRateSender>
<CurrencySent>USD</CurrencySent>
<AmountReceived>5250.00</AmountReceived>
<TotalRecipiententFee>0.00</TotalRecipiententFee>
<TotalPaidToRecipient>5250.00</TotalPaidToRecipient>
<CurrencyOfPayment>MXN</CurrencyOfPayment>
<!-- Status -->
<StatusCode>3</StatusCode>
<LastStatusUpdade>2025-11-05T15:05:00</LastStatusUpdade>
</OrderDetails>
</GetOrderDetailsResult>
</GetOrderDetailsResponse>
</soap:Body>
</soap:Envelope>
Example 3: Order Not Found
Request:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetOrderDetails xmlns="http://tempuri.org/">
<AgentID>12345</AgentID>
<PartnerID>67890</PartnerID>
<AgentOrderReference>INVALID-REF</AgentOrderReference>
<OrderID></OrderID>
</GetOrderDetails>
</soap:Body>
</soap:Envelope>
Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetOrderDetailsResponse xmlns="http://tempuri.org/">
<GetOrderDetailsResult>
<ResultCodes>2001</ResultCodes>
<ResultMessage>Order not found</ResultMessage>
</GetOrderDetailsResult>
</GetOrderDetailsResponse>
</soap:Body>
</soap:Envelope>
Response Fields Explained
Key Fields for Customer Display
When displaying order details to customers, prioritize these fields:
Order Summary:
OrderID- Pontual's reference numberAgentOrderReference- Your reference numberStatusCode- Current status (use GetOrderStatus for polling)LastStatusUpdade- When status last changed
Sender Information:
SenderFirstName+SenderLastName- Who sent the moneySenderAddress,SenderCity,SenderState,SenderCountry- Sender locationSenderPhone1,SenderEmail- Contact information
Recipient Information:
RecipientFirstName+RecipientLastName- Who receives the moneyRecipientAddress1,RecipientCity,RecipientCountry- Recipient locationRecipientPhone1- Recipient contact
Financial Details:
NetAmountSent- Principal amount (USD)TotalFeeSender- Fees chargedTotalCollectedFromSender- Total charged to senderAmountReceived- Amount recipient gets (destination currency)ExchangeRateSender- Exchange rate appliedCurrencyOfPayment- Destination currency
Payment Method:
TypeOfPaymentText- Human-readable payment methodPaymentLocation- Where to pick up cashPaymentInstructions- Special instructions
Integration Best Practices
1. Cache Order Details Appropriately
// Cache completed orders for 5 minutes, active orders for 1 minute
async function getOrderDetails(orderID) {
const cacheKey = `order_details_${orderID}`;
const cached = cache.get(cacheKey);
if (cached) {
return cached;
}
const details = await soapClient.GetOrderDetails({
AgentID: config.agentID,
PartnerID: config.partnerID,
OrderID: orderID,
AgentOrderReference: ''
});
// Cache based on status
const ttl = details.StatusCode === 5 || details.StatusCode === 6
? 300 // 5 minutes for completed/canceled
: 60; // 1 minute for active orders
cache.set(cacheKey, details, ttl);
return details;
}
2. Use GetOrderStatus for Polling
// For status polling, use GetOrderStatus (faster)
// Only call GetOrderDetails when you need full information
async function pollOrderStatus(orderID) {
// Use GetOrderStatus for polling (faster, lighter)
const status = await soapClient.GetOrderStatus({
AgentID: config.agentID,
PartnerID: config.partnerID,
OrderID: orderID
});
// Only fetch full details when status changes or user requests
if (status.StatusCode !== lastKnownStatus) {
const fullDetails = await getOrderDetails(orderID);
updateUI(fullDetails);
}
}
3. Handle Missing Optional Fields
// Many fields are optional - handle gracefully
function displayOrderDetails(details) {
return {
orderID: details.OrderID,
reference: details.AgentOrderReference,
sender: {
name: `${details.SenderFirstName} ${details.SenderLastName}`,
company: details.SenderCompanyName || null, // May be empty
email: details.SenderEmail || 'Not provided',
phone: details.SenderPhone1 || details.SenderPhone2 || 'Not provided'
},
recipient: {
name: `${details.RecipientFirstName} ${details.RecipientLastName}`,
company: details.RecipientCompany || null,
email: details.RecipientEmail || 'Not provided',
phone: details.RecipientPhone1 || details.RecipientPhone2 || 'Not provided'
},
amounts: {
sent: parseFloat(details.NetAmountSent),
fees: parseFloat(details.TotalFeeSender),
total: parseFloat(details.TotalCollectedFromSender),
received: parseFloat(details.AmountReceived),
receivedCurrency: details.CurrencyOfPayment
},
payment: {
method: details.TypeOfPaymentText,
location: details.PaymentLocation || null,
instructions: details.PaymentInstructions || null
},
status: {
code: details.StatusCode,
text: getStatusText(details.StatusCode),
lastUpdate: new Date(details.LastStatusUpdade)
}
};
}
Testing
Use Cases by Status
Related Methods
Before calling GetOrderDetails:
- CreateNewOrder - Create the order first
- GetOrderStatus - Use this for simple status checks (faster)
After getting order details:
- GetPaymentsByDate - Reconciliation
- CancelOrder - Cancel the order (if needed)
Support
- remittance@inter.co
- marcos.lanzoni@inter.co