Referência da API
Config de cartão
Primeiro passo do cartão no MODELO A (token). Devolve a tokenizationKey (chave pública) que a biblioteca iHubGames.js usa pra tokenizar o cartão no navegador, e se o parcelamento está liberado (allowsInstallments). QUANDO usar: chame no seu backend ao abrir o checkout, e passe a tokenizationKey pro front. A chave é PÚBLICA (pode ir pro navegador). Se available for false, a conta só aceita PIX. (No Modelo B / PAN cru você não precisa deste endpoint.)
GET
/transactions/card-configAutenticação
HTTP Basic Auth. Envie sua secret key no header:
Authorization: Basic {base64(secret:SUA_SECRET_KEY)}Respostas
200
Config retornada. Quando available é false, os demais campos são omitidos (conta só PIX).
JSON
{
"available": true,
"tokenizationKey": "pgk_live_...",
"allowsInstallments": true
}401
API key ausente, malformada ou revogada.
JSON
{
"statusCode": 401,
"message": "Unauthorized"
}Exemplos
cURL
curl -X GET "https://api.ihubplay.com/transactions/card-config" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)"html
<!-- No NAVEGADOR: carregue a iHubGames.js e monte o campo de cartão. -->
<script src="https://portal.ihubplay.com/sdk/hubplay.js"></script>
<div id="card-element"></div>
<script>
// A tokenizationKey vem do GET /transactions/card-config (seu backend).
const card = iHubGames.card({ tokenizationKey: "pgk_live_..." });
await card.mount("#card-element"); // renderiza o campo de cartão (PCI SAQ A)
// No submit do checkout:
const { token } = await card.tokenize({ name: "João Silva" });
// 'token' é opaco — mande pro SEU servidor e cobre com creditCard.token.
// Se o /purchase responder requiresAction + clientSecret (3D Secure):
// await card.confirmAction(clientSecret); // abre o desafio no navegador
</script>JavaScript
// Passo 1 (SEU BACKEND): pega a config e devolve a tokenizationKey pro front.
const token = Buffer.from("secret:" + process.env.IHUBGAMES_SECRET_KEY).toString("base64");
const res = await fetch("https://api.ihubplay.com/transactions/card-config", {
headers: { Authorization: `Basic ${token}` },
});
const cfg = await res.json();
if (!cfg.available) {
// Conta só aceita PIX — esconda a opção de cartão.
}
// Envie cfg.tokenizationKey pro navegador (é pública).