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": {}
}Checkout
Generate Card Collection URL
Generate a URL for customers to add their payment method details
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
Query Parameters
The subscription ID to collect card details for. Either subscription_id or order_id is required.
The order ID to collect card details for. Either subscription_id or order_id is required.
⌘I

