const url = 'https://example.com/api/members/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/payment-methods/from-token';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"memberId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","merchantId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","providerToken":"example","type":"Card","isDefault":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/members/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/payment-methods/from-token \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --data '{ "memberId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "merchantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "providerToken": "example", "type": "Card", "isDefault": true }'Stores a card captured via PayChoice’s hosted widget. The token is exchanged server-side for the authoritative card details; Topiic never sees the PAN.
POST /api/members/{memberId}/payment-methods/from-token
{ "providerToken": "…", "type": "Card", "isDefault": true }Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Header Parameters
Section titled “Header Parameters ”Required. A unique value (a UUID is ideal) per logical operation; reuse it when retrying that operation. A retry with the same key and body replays the original response instead of running twice. A 4xx frees the key, so the operation can be corrected and retried on it. A 5xx does not: the attempt may already have moved money, so retries with that key replay a problem+json saying the outcome is unknown, and a genuinely fresh attempt needs a new key. Missing → 400.
Request Body
Section titled “Request Body ”object
object
object
Responses
Section titled “ Responses ”Card stored.
object
Example
{ "type": "Card"}The token was missing or invalid.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}The Idempotency-Key was reused with a different request body, or a request with this key is still in progress.