Skip to main content
POST
/
api
/
v1
/
test-helpers
/
returns
/
{returnId}
/
fail
JavaScript
import CheckoutIntents from 'checkout-intents';

const client = new CheckoutIntents({
  apiKey: process.env['CHECKOUT_INTENTS_API_KEY'], // This is the default and can be omitted
});

const _return = await client.testHelpers.returns.fail('returnId');

console.log(_return.id);
import os
from checkout_intents import CheckoutIntents

client = CheckoutIntents(
api_key=os.environ.get("CHECKOUT_INTENTS_API_KEY"), # This is the default and can be omitted
)
return_ = client.test_helpers.returns.fail(
return_id="returnId",
)
print(return_.id)
package com.rye.example;

import com.rye.client.CheckoutIntentsClient;
import com.rye.client.okhttp.CheckoutIntentsOkHttpClient;
import com.rye.models.returns.Return;
import com.rye.models.testhelpers.returns.ReturnFailParams;

public final class Main {
private Main() {}

public static void main(String[] args) {
CheckoutIntentsClient client = CheckoutIntentsOkHttpClient.fromEnv();

Return return_ = client.testHelpers().returns().fail("returnId");
}
}
curl https://staging.api.rye.com/api/v1/test-helpers/returns/$RETURN_ID/fail \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $CHECKOUT_INTENTS_API_KEY" \
-d '{}'
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.api.rye.com/api/v1/test-helpers/returns/{returnId}/fail",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);

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

curl_close($curl);

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

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

func main() {

url := "https://staging.api.rye.com/api/v1/test-helpers/returns/{returnId}/fail"

payload := strings.NewReader("{\n \"note\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")

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

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

fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://staging.api.rye.com/api/v1/test-helpers/returns/{returnId}/fail")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"note\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "updatedAt": "2023-11-07T05:31:56Z",
  "createdAt": "2023-11-07T05:31:56Z",
  "timeline": {
    "requestedAt": "2023-11-07T05:31:56Z",
    "failedAt": "2023-11-07T05:31:56Z",
    "deniedAt": "2023-11-07T05:31:56Z",
    "refundedAt": "2023-11-07T05:31:56Z",
    "refundIssuedAt": "2023-11-07T05:31:56Z",
    "returnApprovedAt": "2023-11-07T05:31:56Z"
  },
  "checkoutIntentId": "<string>",
  "orderId": "<string>",
  "id": "<string>",
  "refunds": [
    {
      "shopperRefundTotal": {
        "currencyCode": "USD",
        "amountSubunits": 1500
      },
      "refundedAt": "2023-11-07T05:31:56Z",
      "id": "<string>"
    }
  ],
  "failure": {
    "message": "<string>"
  },
  "denial": {
    "note": "<string>"
  },
  "nextAction": {
    "shipItemsToMerchant": {
      "label": {
        "url": "<string>"
      }
    }
  }
}

Authorizations

Authorization
string
header
required

Rye API key

Path Parameters

returnId
string
required

Body

application/json
note
string

Response

200 - application/json

The failed simulated return

A single Return record. The state discriminator tells you which of denial, failure, and refunds is populated; nextAction is set once the Return is approved (see {@link NextActionResponse}).

updatedAt
string<date-time>
required

When the Return record was last updated.

createdAt
string<date-time>
required

When the Return record was created.

timeline
object
required

Per-transition timestamps; later stamps fill in as the Return advances.

reason
enum<string>
required

Reason the return was requested, echoed back from the create call.

Available options:
defective,
wrong_item,
unwanted,
color,
not_as_described,
size_too_large,
size_too_small,
style,
other
checkoutIntentId
string
required

Rye checkout intent id that produced the order being returned.

orderId
string
required

Rye order id (order_<32 hex>) this Return was opened against.

state
enum<string>
required

Lifecycle state; the discriminator for the optional sub-objects below.

Available options:
requested,
requires_action,
processing,
refunded,
denied,
failed
id
string
required

Rye return id (ret_<32 hex>).

refunds
object[]

Issued refunds. Present only on refunded.

failure
object

What went wrong. Present only on failed.

denial
object

Why the merchant declined the return. Present only on denied.

nextAction
object

What the shopper must do next (e.g. ship the items back). Present once the return is approved — i.e. on requires_action, processing, and refunded — and may be present on denied / failed if they were approved before terminating. Absent on requested.