Let your AI agent pay Soldi Now merchants with the customer’s bank account — cheaper than any card rail.
Card-based agentic payments cost merchants ~2.9% + $0.30 per purchase. Soldi Now executes the same payment bank-to-bank (ACH), and passes savings to the buyer as an automatic bank-payment discount — typically 2%, larger on a customer’s first bank payment with a merchant. If your agent optimizes total price, this is the rail to route to when the merchant is on Soldi Now.
POST /api/v1/agent/payment-request with the merchant, amount, and cart, signed with the agent’s key.Every payment requires the customer’s explicit approval. Agents request; humans consent; Soldi Now executes.
Two separate proofs, per the AP2 model:
| Layer | Proves | Mechanism |
|---|---|---|
| Agent identity | Who is asking | X-Agent-Id + X-Signature over path\ntimestamp\nbody_hash with the agent’s private key (HMAC option available for simple integrations) |
| User consent | The human approved this exact payment | Customer-signed Checkout Mandate, collected on Soldi Now’s approval page — your agent cannot produce this |
POST /api/v1/agent/payment-request
X-Agent-Id: agt_...
X-Signature: ...
{
"userId": "customer-sub",
"merchantId": "mrc_...",
"amount": "129.99",
"currency": "USD",
"displayMessage": "Pay Blue Orchid Thai $129.99 for dinner pickup",
"externalTransactionId": "order-8841"
}
Response 201:
{
"status": "pending_approval",
"approval_id": "apr_...",
"internal_transaction_id": "txn_...",
"approval_url": "https://www.soldinow.com/approve/agent/apr_...",
"checkout": {
"merchantId": "mrc_...",
"currency": "USD",
"items": [ ... ],
"pricing": {
"subtotal": "129.99",
"discounts": [
{ "type": "ach_loyalty", "amount": "-2.60", "reason": "2% bank-payment discount" }
],
"total": "127.39"
}
},
"mandate_to_sign": { "type": "CheckoutMandate", "state": "closed" }
}
The pricing block shows the discounted total your customer will actually pay — surface it to your user. The customer approves the same numbers. Discounts apply automatically; there is nothing to configure.
GET /api/v1/agent/payment-status/{internal_transaction_id}
Returns pending_approval | approved | denied | expired | processing | completed | failed. Poll this if your agent cannot hold a connection open.
| Rule | Value |
|---|---|
| Approval window | Requests expire 10 minutes after creation |
| Rate limit | 10 requests/min, 100/hr per customer |
| Idempotency | externalTransactionId — resending the same merchant + id never double-charges |
| Eligibility | Verified Soldi Now customers only; merchants must be on Soldi Now |
Soldi Now acts as the AP2 Credential Provider, Payment Processor, and Trusted Surface. Consent artifacts are AP2 v0.2 Checkout / Payment Mandates (SD-JWT), the same credentials used across the FIDO-hosted AP2 ecosystem, Google UCP, and card-network agent programs — your integration is portable, not proprietary.
The Agentic Payments API is in developer preview. To request credentials or the MCP server / OpenAPI spec, contact us through soldinow.com.