Saltar al contenido principal
Cancel a Transfer
curl --request DELETE \
  --url https://api.spherepay.co/v2/transfer/{id} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.spherepay.co/v2/transfer/{id}"

headers = {"Authorization": "Bearer <token>"}

response = requests.delete(url, headers=headers)

print(response.text)
const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.spherepay.co/v2/transfer/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.spherepay.co/v2/transfer/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.spherepay.co/v2/transfer/{id}"

req, _ := http.NewRequest("DELETE", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.delete("https://api.spherepay.co/v2/transfer/{id}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.spherepay.co/v2/transfer/{id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "id": "payout_a1b2c3d4e5f6a7b8c9d0e1f2",
  "type": "on_ramp",
  "status": "pendingFunding",
  "customer": "customer_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7",
  "source": {
    "id": "bankAccount_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
    "type": "bank_account"
  },
  "destination": {
    "id": "wallet_e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2",
    "type": "wallet",
    "currency": "usdc",
    "network": "sol",
    "amount": "<string>",
    "exchangeRate": "5.455"
  },
  "depositAccount": {
    "type": "bank_account",
    "bankDetails": {
      "bankName": "Bank of America",
      "accountHolderName": "John Doe",
      "accountType": "savings",
      "accountNumber": "1234567890",
      "routingNumber": "1234567890",
      "bic": "1234567890",
      "iban": "1234567890",
      "pixKey": "+5511999999999",
      "brCode": "00020126580014br.gov.bcb.pix0136a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "bankAddress": "123 Main St, Anytown, USA",
      "beneficiaryAddress": "123 Main St, Anytown, USA",
      "memo": "BBE6C7EB4A3F"
    }
  },
  "updated": "2021-01-01T00:00:00.000Z",
  "created": "2021-01-01T00:00:00.000Z",
  "externalId": "merchant_ref_123",
  "fees": {
    "integratorFee": {
      "fixedAmount": "1.00",
      "bpsRate": "10",
      "bpsAmount": "0.10",
      "totalAmount": "1.10",
      "currency": "usd"
    },
    "platformFee": {
      "fixedAmount": "2.00",
      "bpsRate": "10",
      "bpsAmount": "0.10",
      "totalAmount": "2.10",
      "currency": "usd"
    }
  },
  "quote": {
    "id": "quote_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
    "expiresAt": "2021-01-01T00:00:00.000Z"
  },
  "paymentReason": "professional_services",
  "paymentDescription": "INV-2026-004 — Q1 software services",
  "tracking": {
    "source": {
      "imad": "20250224MMQFMP0B000012",
      "omad": "123456789012345678901234",
      "traceNumber": "021000021234567",
      "transactionId": "4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b",
      "uetr": "097B365480122XK9"
    },
    "destination": {
      "imad": "20250224MMQFMP0B000012",
      "omad": "123456789012345678901234",
      "traceNumber": "021000021234567",
      "transactionId": "4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b",
      "uetr": "097B365480122XK9"
    }
  }
}
{
"status": 400,
"detail": "Invalid request parameters",
"code": "address/invalid",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c"
}
{
"status": 404,
"detail": "Resource not found",
"code": "resource/not-found",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c"
}
{
"status": 422,
"detail": "Validation failed",
"code": "validation/failed",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"errors": [
{
"detail": "Invalid email format",
"pointer": "/email"
},
{
"detail": "Name is required",
"pointer": "/name"
}
]
}
Usa este endpoint para cancelar una transferencia antes de que se hayan recibido fondos. La cancelación solo es posible mientras la transferencia está en estado pendingFunding — una vez que SpherePay detecta un depósito entrante y la transferencia avanza a fundsReceived o más allá, ya no puede ser cancelada. Si los fondos llegan después de la cancelación, SpherePay intentará devolverlos y la transferencia puede transicionar a returned o pendingRefundInformation.
No puedes cancelar una transferencia que esté en cualquier estado distinto a pendingFunding. Verifica el estado de la transferencia con GET /v2/transfer/ antes de intentar la cancelación.

Autorizaciones

Authorization
string
header
requerido

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Parámetros de ruta

id
string
requerido

Respuesta

id
string
requerido

A unique identifier for transfer.

Pattern: ^payout_[a-z0-9]{24}$
Ejemplo:

"payout_a1b2c3d4e5f6a7b8c9d0e1f2"

type
enum<string>
requerido

The transfer type.

Opciones disponibles:
on_ramp,
off_ramp,
unmatched_deposit,
microdeposit
Ejemplo:

"on_ramp"

status
enum<string>
requerido

The transfer status. See Transfer Lifecycle for status definitions and transitions.

Opciones disponibles:
pendingFunding,
pendingReview,
fundsReceived,
processing,
succeeded,
undeliverable,
returned,
pendingRefundInformation,
failed,
canceled,
refunded,
unexpectedError,
failedPrecondition,
expired
Ejemplo:

"pendingFunding"

customer
string
requerido

The customer ID.

Ejemplo:

"customer_b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7"

source
Source Bank Account · object
requerido

The source of an on ramp transfer.

Ejemplo:
{
"id": "bankAccount_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"type": "bank_account"
}
destination
Destination Wallet · object
requerido

The destination of an On-ramp transfer. See Wallets for registration.

depositAccount
Deposit Bank Account · object
requerido

The deposit bank account for an on ramp transfer.

updated
string<date-time>
requerido

The last datetime the transfer was updated.

Ejemplo:

"2021-01-01T00:00:00.000Z"

created
string<date-time>
requerido

The datetime the transfer was created.

Ejemplo:

"2021-01-01T00:00:00.000Z"

externalId
string

The external reference (not stored as unique).

Ejemplo:

"merchant_ref_123"

fees
object

Fee breakdown for the transfer. For floating-rate BRL transfers, this is omitted until settlement is complete.

quote
object

The quote used for this transfer, if any. When present, the locked exchange rate from the quote was applied to the destination amount and exchange rate.

paymentReason
string

The reason for the payment. Present on BRL transfers and third-party off-ramp transfers.

Ejemplo:

"professional_services"

paymentDescription
string

A free-text description of the payment purpose. Present on third-party off-ramp transfers.

Ejemplo:

"INV-2026-004 — Q1 software services"

tracking
object

Tracking references for the transfer. Only included when at least one reference exists.

Última modificación el 22 de junio de 2026