Skip to main content
GET
/
api
/
v1
/
checkout
/
generate-card-collection-url
cURL
# Using subscription ID
curl -X GET "https://api.metrifox.com/api/v1/checkout/generate-card-collection-url?subscription_id=a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  -H "x-api-key: your-api-key"

# Using order ID
curl -X GET "https://api.metrifox.com/api/v1/checkout/generate-card-collection-url?order_id=f9e8d7c6-b5a4-3210-fedc-ba0987654321" \
  -H "x-api-key: your-api-key"
from metrifox_sdk import MetrifoxClient

client = MetrifoxClient(api_key="your_api_key")

# Card collection URL for a subscription
url = client.checkout.card_collection_url(
subscription_id="a1b2c3d4-e5f6-7890-abcd-ef1234567890"
)

# Or for an order
url = client.checkout.card_collection_url(
order_id="f9e8d7c6-b5a4-3210-fedc-ba0987654321"
)
import { init } from "metrifox-js";

const metrifoxClient = init({
apiKey: process.env.METRIFOX_API_KEY
});

// Card collection URL for a subscription
const url = await metrifoxClient.checkout.cardCollectionUrl({
subscriptionId: "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
});

// Or for an order
const urlForOrder = await metrifoxClient.checkout.cardCollectionUrl({
orderId: "f9e8d7c6-b5a4-3210-fedc-ba0987654321",
});
require 'metrifox-sdk'

METRIFOX_SDK = MetrifoxSDK.init({ api_key: "your-api-key" })

# Card collection URL for a subscription
url = METRIFOX_SDK.checkout.card_collection_url(
subscription_id: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
)

# Or for an order
url = METRIFOX_SDK.checkout.card_collection_url(
order_id: "f9e8d7c6-b5a4-3210-fedc-ba0987654321"
)
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://{defaultHost}/api/v1/checkout/generate-card-collection-url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);

$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://{defaultHost}/api/v1/checkout/generate-card-collection-url"

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

req.Header.Add("x-api-key", "<api-key>")

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

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

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://{defaultHost}/api/v1/checkout/generate-card-collection-url")
.header("x-api-key", "<api-key>")
.asString();
{
  "statusCode": 200,
  "message": "",
  "data": {
    "checkout_url": "https://app.metrifox.com/your-organization/checkout/premium_plan?order=a1b2c3d4&customer=cust_123&collect_card=true"
  }
}
{
"statusCode": 400,
"message": "Either subscription_id or order_id is required",
"data": {},
"meta": {},
"errors": {}
}
{
"statusCode": 401,
"message": "Unauthorized",
"data": {},
"meta": {},
"errors": {}
}
{
"statusCode": 404,
"message": "Subscription not found",
"data": {},
"meta": {},
"errors": {}
}

Authorizations

x-api-key
string
header
required

Query Parameters

subscription_id
string<uuid>

The subscription ID to collect card details for. Either subscription_id or order_id is required.

order_id
string<uuid>

The order ID to collect card details for. Either subscription_id or order_id is required.

Response

Card collection URL generated successfully

statusCode
integer
Example:

200

message
string
Example:

""

data
object