Identify a merchant
The PHP tab uses the SDK’s low-level request method because the
2.14.0 Brand helper requires conflicting lookup fields. See the PHP guide for details.Add matching hints
Do not invent missing MCC, geography, or phone values. Incorrect hints can be worse than omitted hints.
Model unresolved transactions
Merchant descriptors are noisy and some cannot be mapped reliably. Treat that as a normal product state:- Keep the original descriptor for auditability.
- Distinguish an unresolved merchant from a timeout or service error.
- Provide a neutral category fallback instead of assigning an unverified logo.
- Do not display
high_confidence_onlyas a numeric score. It is a request mode, not a score returned by the API.
Cache matches
Cache successful matches in your application when repeated descriptors are common. Include any matching context that can change the result:Review uncertain matches
For expense, compliance, or financial-reporting workflows, semantic validation belongs in your application:- Compare the returned domain and title with the raw descriptor and transaction context.
- Keep human review for consequential or ambiguous matches.
- Store the input, result, and lookup time needed for your audit trail.
- Never infer that a returned address is a legal entity or headquarters address unless you verify it separately.
Next steps
Merchant transaction feeds
Add readable merchant rows, unresolved states, and saved corrections.
Retrieve brand data
Understand the shared brand response model.
Troubleshooting
Handle lookup failures and decide when to retry.
Brand API reference
Review the complete transaction lookup contract.
partial: true instead of treating an incomplete profile as a complete cached record.