curl --request PATCH \
--url https://api.pay.izichange.com/v1/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Abonnement Pro",
"description": "Accès illimité pendant 12 mois, 5 utilisateurs inclus.",
"amount": "35000",
"currency": "XOF",
"isActive": true,
"imageUrl": "https://cdn.example.com/produits/abonnement-pro.png",
"merchantReference": "SKU-PRO-12M",
"autoSettlement": {
"enabled": true,
"settlementAccountAddress": "+22501020304",
"settlementPaymentMethodId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
'import requests
url = "https://api.pay.izichange.com/v1/products/{id}"
payload = {
"name": "Abonnement Pro",
"description": "Accès illimité pendant 12 mois, 5 utilisateurs inclus.",
"amount": "35000",
"currency": "XOF",
"isActive": True,
"imageUrl": "https://cdn.example.com/produits/abonnement-pro.png",
"merchantReference": "SKU-PRO-12M",
"autoSettlement": {
"enabled": True,
"settlementAccountAddress": "+22501020304",
"settlementPaymentMethodId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Abonnement Pro',
description: 'Accès illimité pendant 12 mois, 5 utilisateurs inclus.',
amount: '35000',
currency: 'XOF',
isActive: true,
imageUrl: 'https://cdn.example.com/produits/abonnement-pro.png',
merchantReference: 'SKU-PRO-12M',
autoSettlement: {
enabled: true,
settlementAccountAddress: '+22501020304',
settlementPaymentMethodId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
}
})
};
fetch('https://api.pay.izichange.com/v1/products/{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.pay.izichange.com/v1/products/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Abonnement Pro',
'description' => 'Accès illimité pendant 12 mois, 5 utilisateurs inclus.',
'amount' => '35000',
'currency' => 'XOF',
'isActive' => true,
'imageUrl' => 'https://cdn.example.com/produits/abonnement-pro.png',
'merchantReference' => 'SKU-PRO-12M',
'autoSettlement' => [
'enabled' => true,
'settlementAccountAddress' => '+22501020304',
'settlementPaymentMethodId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.pay.izichange.com/v1/products/{id}"
payload := strings.NewReader("{\n \"name\": \"Abonnement Pro\",\n \"description\": \"Accès illimité pendant 12 mois, 5 utilisateurs inclus.\",\n \"amount\": \"35000\",\n \"currency\": \"XOF\",\n \"isActive\": true,\n \"imageUrl\": \"https://cdn.example.com/produits/abonnement-pro.png\",\n \"merchantReference\": \"SKU-PRO-12M\",\n \"autoSettlement\": {\n \"enabled\": true,\n \"settlementAccountAddress\": \"+22501020304\",\n \"settlementPaymentMethodId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.patch("https://api.pay.izichange.com/v1/products/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Abonnement Pro\",\n \"description\": \"Accès illimité pendant 12 mois, 5 utilisateurs inclus.\",\n \"amount\": \"35000\",\n \"currency\": \"XOF\",\n \"isActive\": true,\n \"imageUrl\": \"https://cdn.example.com/produits/abonnement-pro.png\",\n \"merchantReference\": \"SKU-PRO-12M\",\n \"autoSettlement\": {\n \"enabled\": true,\n \"settlementAccountAddress\": \"+22501020304\",\n \"settlementPaymentMethodId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pay.izichange.com/v1/products/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Abonnement Pro\",\n \"description\": \"Accès illimité pendant 12 mois, 5 utilisateurs inclus.\",\n \"amount\": \"35000\",\n \"currency\": \"XOF\",\n \"isActive\": true,\n \"imageUrl\": \"https://cdn.example.com/produits/abonnement-pro.png\",\n \"merchantReference\": \"SKU-PRO-12M\",\n \"autoSettlement\": {\n \"enabled\": true,\n \"settlementAccountAddress\": \"+22501020304\",\n \"settlementPaymentMethodId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"description": {},
"amount": "<string>",
"currency": "<string>",
"assetCode": {},
"permanentLinkSlug": "<string>",
"imageUrl": {},
"isActive": true,
"paymentLink": "<string>",
"createdAt": "<string>"
}Mettre à jour un produit
Met à jour partiellement un produit existant (nom, description, prix, devise, état actif, image). Le slug permanent n’est pas modifiable pour préserver les liens partagés.
curl --request PATCH \
--url https://api.pay.izichange.com/v1/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Abonnement Pro",
"description": "Accès illimité pendant 12 mois, 5 utilisateurs inclus.",
"amount": "35000",
"currency": "XOF",
"isActive": true,
"imageUrl": "https://cdn.example.com/produits/abonnement-pro.png",
"merchantReference": "SKU-PRO-12M",
"autoSettlement": {
"enabled": true,
"settlementAccountAddress": "+22501020304",
"settlementPaymentMethodId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
'import requests
url = "https://api.pay.izichange.com/v1/products/{id}"
payload = {
"name": "Abonnement Pro",
"description": "Accès illimité pendant 12 mois, 5 utilisateurs inclus.",
"amount": "35000",
"currency": "XOF",
"isActive": True,
"imageUrl": "https://cdn.example.com/produits/abonnement-pro.png",
"merchantReference": "SKU-PRO-12M",
"autoSettlement": {
"enabled": True,
"settlementAccountAddress": "+22501020304",
"settlementPaymentMethodId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Abonnement Pro',
description: 'Accès illimité pendant 12 mois, 5 utilisateurs inclus.',
amount: '35000',
currency: 'XOF',
isActive: true,
imageUrl: 'https://cdn.example.com/produits/abonnement-pro.png',
merchantReference: 'SKU-PRO-12M',
autoSettlement: {
enabled: true,
settlementAccountAddress: '+22501020304',
settlementPaymentMethodId: '3c90c3cc-0d44-4b50-8888-8dd25736052a'
}
})
};
fetch('https://api.pay.izichange.com/v1/products/{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.pay.izichange.com/v1/products/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Abonnement Pro',
'description' => 'Accès illimité pendant 12 mois, 5 utilisateurs inclus.',
'amount' => '35000',
'currency' => 'XOF',
'isActive' => true,
'imageUrl' => 'https://cdn.example.com/produits/abonnement-pro.png',
'merchantReference' => 'SKU-PRO-12M',
'autoSettlement' => [
'enabled' => true,
'settlementAccountAddress' => '+22501020304',
'settlementPaymentMethodId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.pay.izichange.com/v1/products/{id}"
payload := strings.NewReader("{\n \"name\": \"Abonnement Pro\",\n \"description\": \"Accès illimité pendant 12 mois, 5 utilisateurs inclus.\",\n \"amount\": \"35000\",\n \"currency\": \"XOF\",\n \"isActive\": true,\n \"imageUrl\": \"https://cdn.example.com/produits/abonnement-pro.png\",\n \"merchantReference\": \"SKU-PRO-12M\",\n \"autoSettlement\": {\n \"enabled\": true,\n \"settlementAccountAddress\": \"+22501020304\",\n \"settlementPaymentMethodId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.patch("https://api.pay.izichange.com/v1/products/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Abonnement Pro\",\n \"description\": \"Accès illimité pendant 12 mois, 5 utilisateurs inclus.\",\n \"amount\": \"35000\",\n \"currency\": \"XOF\",\n \"isActive\": true,\n \"imageUrl\": \"https://cdn.example.com/produits/abonnement-pro.png\",\n \"merchantReference\": \"SKU-PRO-12M\",\n \"autoSettlement\": {\n \"enabled\": true,\n \"settlementAccountAddress\": \"+22501020304\",\n \"settlementPaymentMethodId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pay.izichange.com/v1/products/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Abonnement Pro\",\n \"description\": \"Accès illimité pendant 12 mois, 5 utilisateurs inclus.\",\n \"amount\": \"35000\",\n \"currency\": \"XOF\",\n \"isActive\": true,\n \"imageUrl\": \"https://cdn.example.com/produits/abonnement-pro.png\",\n \"merchantReference\": \"SKU-PRO-12M\",\n \"autoSettlement\": {\n \"enabled\": true,\n \"settlementAccountAddress\": \"+22501020304\",\n \"settlementPaymentMethodId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"description": {},
"amount": "<string>",
"currency": "<string>",
"assetCode": {},
"permanentLinkSlug": "<string>",
"imageUrl": {},
"isActive": true,
"paymentLink": "<string>",
"createdAt": "<string>"
}Autorisations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Paramètres de chemin
Identifiant du produit.
Corps
Nouveau nom du produit, affiché au client final sur sa page de paiement.
"Abonnement Pro"
Nouvelle description du produit, affichée sous son nom sur la page de paiement.
"Accès illimité pendant 12 mois, 5 utilisateurs inclus."
Nouveau prix du produit, exprimé dans currency. Chaîne de caractères, jamais un nombre JSON : un montant passé en number est arrondi par la précision flottante. Jusqu'à 18 décimales, et strictement supérieur à zéro.
^(?=.*[1-9])\d{1,18}(\.\d{1,18})?$"35000"
Nouvelle devise fiat dans laquelle le produit est libellé. Ex : XOF, EUR, USD.
"XOF"
Active ou désactive le lien de paiement du produit. Désactivé, le lien public n'accepte plus de nouveaux paiements.
true
Nouvelle URL d'image illustrant le produit. Envoyez null pour retirer l'image.
"https://cdn.example.com/produits/abonnement-pro.png"
Référence libre côté marchand (SKU, identifiant ERP…). Envoyez null pour la retirer.
"SKU-PRO-12M"
Reversement automatique de chaque paiement de ce produit (mêmes champs que sur POST /v1/payment-intents). Envoyez null pour le désactiver.
Show child attributes
Show child attributes
Réponse
Produit mis à jour.
Identifiant unique du produit.
Nom du produit affiché au client.
Description longue affichée sur la page de paiement.
Prix du produit — chaîne décimale.
Code de la devise (fiat ou crypto).
Code de l'actif crypto suggéré pour le paiement (optionnel).
Slug utilisé pour construire le lien de paiement permanent (uniquement minuscules, chiffres et tirets).
URL d'une image illustrant le produit (optionnelle).
Indique si le produit est actif et payable.
Lien permanent à partager pour vendre ce produit.
Date de création — ISO 8601.