Refund an intent directly (test mode)
Test-mode helper: flips a `succeeded` intent to `refunded` and stamps a fake refund marker in provider_data — no payment provider is contacted. Use to simulate the provider's `payment.refunded` outcome for downstream testing without a real refund.
/testmode/intents/{intent_id}/refundTest-mode helper: flips a succeeded intent to refunded and
stamps a fake refund marker in provider_data — no payment provider
is contacted. Use to simulate the provider's payment.refunded
outcome for downstream testing without a real refund.
JWT issued by IdentityX, signed with Ed25519
In: header
Path Parameters
Payment intent ID.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/testmode/intents/497f6eca-6276-4993-bfeb-53cbbbba6f08/refund"{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"wallet_id": "d9a8fbfc-848f-43a2-9168-911ed3a04a48",
"seller_id": "28f4dc41-8499-4ead-9976-f2fa20a45fd1",
"collector_id": "1d71b73d-897d-4e0f-85d3-9087b548c215",
"amount_cents": 0,
"currency": "string",
"sandbox": true,
"provider": "string",
"status": "pending",
"status_detail": "insufficient_funds",
"provider_data": {},
"metadata": {},
"created_at": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 400,
"title": "Validation Failed"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 401,
"title": "Unauthenticated"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 403,
"title": "Insufficient Role"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 404,
"title": "Not Found"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 500,
"title": "Internal Server Error"
}Create an intent directly (test mode) POST
Test-mode helper: hard-creates an intent with full control over its status, provider, and provider data — no payment provider is contacted. Use to simulate provider outcomes (e.g. seed a `succeeded` intent so downstream systems observe the webhook flow). Must be a wallet owner.
Start a payment-provider OAuth connection POST
Starts an OAuth connection to the given payment provider (`mercadopago`). Callers must pass the flow (`collector` or `seller`) and the final redirect URL (where the user lands after the provider's consent screen). The provider redirect URI is Payssage's own callback (`/providers/{provider}/callback`), configured on the server (`MP_REDIRECT_URI`) — callers never supply one. The response carries the URL to send the user to.