Skip to main content
Once a customer connects their agent to you, one field, customerPartyId, switches a payment or request from your money to theirs. Everything else works exactly like moving your own money.
Every action here needs the customer to have connected their agent.
Find a customer’s customerPartyId by listing your customers. Each customer’s id is the party id you pass.

Pay from the customer’s wallet

Set customerPartyId on POST /payments to the customer’s party id and the payment draws from their wallet, within the permissions and limits they granted. Everything else works like Send a payment: the same counterparty types, the same claim link for new recipients, the same status flow. Omit customerPartyId and the payment comes from your own wallet instead.
The response carries a pay_* id and an initial status, and its sender is the customer’s party, confirming the funds came from their wallet.

Request into the customer’s wallet

Collecting for a customer is Request a payment with the same one field. Set customerPartyId on POST /payment-requests to the customer’s party and the funds land in their default receiving wallet when the payer settles. Natural delivers the request to the payer automatically, on whatever channel matches how you addressed them.
The response’s requesterParty is the customer, and when the payer settles the money lands in the customer’s default receiving wallet, not yours.