[{"data":1,"prerenderedAt":4297},["ShallowReactive",2],{"navigation-docs_v2":3,"\u002Fv2\u002Fmoney-in\u002Fcard-vault":152,"\u002Fv2\u002Fmoney-in\u002Fcard-vault-surround":4292},[4],{"title":5,"path":6,"stem":7,"children":8,"page":68},"V2","\u002Fv2","v2",[9,27,69,110,127,144],{"title":10,"path":11,"stem":12,"children":13},"Introduction","\u002Fv2\u002Foverview","v2\u002F1.overview\u002F1.index",[14,15,19,23],{"title":10,"path":11,"stem":12},{"title":16,"path":17,"stem":18},"Test Details","\u002Fv2\u002Foverview\u002Ftest-details","v2\u002F1.overview\u002F2.test-details",{"title":20,"path":21,"stem":22},"Errors","\u002Fv2\u002Foverview\u002Ferror-handling","v2\u002F1.overview\u002F3.error-handling",{"title":24,"path":25,"stem":26},"Migrate from V1","\u002Fv2\u002Foverview\u002Fmigrate-from-v1","v2\u002F1.overview\u002F4.migrate-from-v1",{"title":28,"path":29,"stem":30,"children":31,"page":68},"General","\u002Fv2\u002Fgeneral","v2\u002F2.general",[32,36,40,44,48,52,56,60,64],{"title":33,"path":34,"stem":35},"Lookups","\u002Fv2\u002Fgeneral\u002Flookups","v2\u002F2.general\u002F1.lookups",{"title":37,"path":38,"stem":39},"Balances","\u002Fv2\u002Fgeneral\u002Fbalances","v2\u002F2.general\u002F10.balances",{"title":41,"path":42,"stem":43},"Payment Methods","\u002Fv2\u002Fgeneral\u002Fpayment-methods","v2\u002F2.general\u002F2.payment-methods",{"title":45,"path":46,"stem":47},"Customers","\u002Fv2\u002Fgeneral\u002Fcustomers","v2\u002F2.general\u002F3.customers",{"title":49,"path":50,"stem":51},"Bank Accounts","\u002Fv2\u002Fgeneral\u002Fbank-accounts","v2\u002F2.general\u002F4.bank-accounts",{"title":53,"path":54,"stem":55},"Cards","\u002Fv2\u002Fgeneral\u002Fcards","v2\u002F2.general\u002F5.cards",{"title":57,"path":58,"stem":59},"Mandates","\u002Fv2\u002Fgeneral\u002Fmandates","v2\u002F2.general\u002F6.mandates",{"title":61,"path":62,"stem":63},"Products","\u002Fv2\u002Fgeneral\u002Fproducts","v2\u002F2.general\u002F8.products",{"title":65,"path":66,"stem":67},"Transactions","\u002Fv2\u002Fgeneral\u002Ftransactions","v2\u002F2.general\u002F9.transactions",false,{"title":70,"path":71,"stem":72,"children":73,"page":68},"Money In","\u002Fv2\u002Fmoney-in","v2\u002F3.money-in",[74,78,82,86,90,94,98,102,106],{"title":75,"path":76,"stem":77},"Collections","\u002Fv2\u002Fmoney-in\u002Fcollections","v2\u002F3.money-in\u002F1.collections",{"title":79,"path":80,"stem":81},"Electronic Mandates","\u002Fv2\u002Fmoney-in\u002Felectronic-mandates","v2\u002F3.money-in\u002F2.electronic-mandates",{"title":83,"path":84,"stem":85},"Subscriptions","\u002Fv2\u002Fmoney-in\u002Fsubscriptions","v2\u002F3.money-in\u002F3.subscriptions",{"title":87,"path":88,"stem":89},"Checkout Link","\u002Fv2\u002Fmoney-in\u002Fcheckout-link","v2\u002F3.money-in\u002F4.checkout-link",{"title":91,"path":92,"stem":93},"Checkout Form","\u002Fv2\u002Fmoney-in\u002Fcheckout-form","v2\u002F3.money-in\u002F5.checkout-form",{"title":95,"path":96,"stem":97},"Card Vault","\u002Fv2\u002Fmoney-in\u002Fcard-vault","v2\u002F3.money-in\u002F6.card-vault",{"title":99,"path":100,"stem":101},"Card Vault Charge","\u002Fv2\u002Fmoney-in\u002Fcard-vault-charge","v2\u002F3.money-in\u002F7.card-vault-charge",{"title":103,"path":104,"stem":105},"Card Vault Pre-Auth","\u002Fv2\u002Fmoney-in\u002Fcard-vault-pre-auth","v2\u002F3.money-in\u002F8.card-vault-pre-auth",{"title":107,"path":108,"stem":109},"Customer Portal","\u002Fv2\u002Fmoney-in\u002Fcustomer-portal","v2\u002F3.money-in\u002F9.customer-portal",{"title":111,"path":112,"stem":113,"children":114,"page":68},"Money Out","\u002Fv2\u002Fmoney-out","v2\u002F4.money-out",[115,119,123],{"title":116,"path":117,"stem":118},"Payouts","\u002Fv2\u002Fmoney-out\u002Fpayouts","v2\u002F4.money-out\u002F1.payouts",{"title":120,"path":121,"stem":122},"Recipients","\u002Fv2\u002Fmoney-out\u002Frecipients","v2\u002F4.money-out\u002F2.recipients",{"title":124,"path":125,"stem":126},"Refunds","\u002Fv2\u002Fmoney-out\u002Frefunds","v2\u002F4.money-out\u002F3.refunds",{"title":128,"path":129,"stem":130,"children":131,"page":68},"Verification","\u002Fv2\u002Fverification","v2\u002F5.verification",[132,136,140],{"title":133,"path":134,"stem":135},"CDV","\u002Fv2\u002Fverification\u002Fcdv","v2\u002F5.verification\u002F1.cdv",{"title":137,"path":138,"stem":139},"AVS-R","\u002Fv2\u002Fverification\u002Favs-r","v2\u002F5.verification\u002F2.avs-r",{"title":141,"path":142,"stem":143},"SDO","\u002Fv2\u002Fverification\u002Fsdo","v2\u002F5.verification\u002F3.sdo",{"title":145,"path":146,"stem":147,"children":148,"page":68},"Webhooks","\u002Fv2\u002Fwebhooks","v2\u002F6.webhooks",[149],{"title":145,"path":150,"stem":151},"\u002Fv2\u002Fwebhooks\u002Fwebhooks","v2\u002F6.webhooks\u002F1.webhooks",{"id":153,"title":95,"body":154,"description":4286,"extension":4287,"links":4288,"meta":4289,"navigation":409,"path":96,"seo":4290,"stem":97,"__hash__":4291},"docs_v2\u002Fv2\u002F3.money-in\u002F6.card-vault.md",{"type":155,"value":156,"toc":4265},"minimark",[157,163,168,172,184,189,198,244,248,254,352,356,362,378,864,868,874,1142,1146,1149,1720,1724,1727,1947,1950,1984,1990,2139,2144,2284,2296,2300,2318,2957,2961,3173,3177,3337,3341,3352,3356,3362,3381,3385,3792,3796,4091,4095,4220,4224,4227,4250,4254,4261],[158,159],"img",{"src":160,"alt":161,"width":162},"\u002Fimg\u002Fcard-vault.png","Card vault link",400,[164,165,167],"h2",{"id":166},"request","Request",[169,170,171],"p",{},"Request to generate a card vault page session URL where a payer can securely store a card, or manage their stored cards. Only cards are supported on this page — no other payment methods are shown.",[169,173,174,175,179,180,183],{},"Every newly stored card is verified with a 3D Secure authenticated transaction. If ",[176,177,178],"code",{},"item.amount"," is supplied it is charged as a one-time fee when the card is stored; otherwise a default ",[176,181,182],{},"R2.00"," verification amount is charged (an amount is required for 3DS authentication).",[185,186,188],"h3",{"id":187},"path","Path",[169,190,191,194,195],{},[176,192,193],{},"POST"," ",[176,196,197],{},"\u002Fcard-vault\u002F{customer_id}\u002Flink",[199,200,201,221],"table",{},[202,203,204],"thead",{},[205,206,207,212,215,218],"tr",{},[208,209,211],"th",{"align":210},"left","Path Parameter",[208,213,214],{"align":210},"Type",[208,216,217],{"align":210},"Description",[208,219,220],{"align":210},"Example",[222,223,224],"tbody",{},[205,225,226,230,233,241],{},[227,228,229],"td",{"align":210},"customer_id",[227,231,232],{"align":210},"String(32)",[227,234,235,236],{"align":210},"The customer to store or manage cards for. The customer must exist — see ",[237,238,240],"a",{"href":239},"\u002Freference\u002Fcustomers","customers",[227,242,243],{"align":210},"cus_abc123...",[185,245,247],{"id":246},"example-basic","Example (Basic)",[169,249,250,251,253],{},"Basic example to create a link where the payer stores a card. The default ",[176,252,182],{}," verification amount is charged for 3DS.",[255,256,261],"pre",{"className":257,"code":258,"language":259,"meta":260,"style":260},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"type\": \"STORE_CARD\",\n  \"item\": {\n    \"title\": \"Save your card\" \u002F\u002F shown on the vault page and payer statement\n  }\n}\n","json","",[176,262,263,272,300,315,340,346],{"__ignoreMap":260},[264,265,268],"span",{"class":266,"line":267},"line",1,[264,269,271],{"class":270},"sMK4o","{\n",[264,273,275,278,282,285,288,291,295,297],{"class":266,"line":274},2,[264,276,277],{"class":270},"  \"",[264,279,281],{"class":280},"spNyl","type",[264,283,284],{"class":270},"\"",[264,286,287],{"class":270},":",[264,289,290],{"class":270}," \"",[264,292,294],{"class":293},"sfazB","STORE_CARD",[264,296,284],{"class":270},[264,298,299],{"class":270},",\n",[264,301,303,305,308,310,312],{"class":266,"line":302},3,[264,304,277],{"class":270},[264,306,307],{"class":280},"item",[264,309,284],{"class":270},[264,311,287],{"class":270},[264,313,314],{"class":270}," {\n",[264,316,318,321,325,327,329,331,334,336],{"class":266,"line":317},4,[264,319,320],{"class":270},"    \"",[264,322,324],{"class":323},"sBMFI","title",[264,326,284],{"class":270},[264,328,287],{"class":270},[264,330,290],{"class":270},[264,332,333],{"class":293},"Save your card",[264,335,284],{"class":270},[264,337,339],{"class":338},"sHwdD"," \u002F\u002F shown on the vault page and payer statement\n",[264,341,343],{"class":266,"line":342},5,[264,344,345],{"class":270},"  }\n",[264,347,349],{"class":266,"line":348},6,[264,350,351],{"class":270},"}\n",[185,353,355],{"id":354},"example-one-time-fee","Example (One-time fee)",[169,357,358,359,361],{},"Charge a one-time fee when the card is stored, instead of the default ",[176,360,182],{}," verification amount.",[169,363,364,365,367,368,374,375,377],{},"An invoice can be generated for the fee charge. By default the invoice shows a single line from ",[176,366,307],{},"; pass an ",[369,370,371],"strong",{},[176,372,373],{},"items"," array to populate the invoice with catalog line items instead — see ",[237,376,87],{"href":88}," for the same pattern.",[255,379,381],{"className":257,"code":380,"language":259,"meta":260,"style":260},"{\n  \"type\": \"STORE_CARD\",\n\n  \"transaction_reference\": \"INV-2026-00042\", \u002F\u002F [optional] your reference for the fee charge; appears on statements and reporting\n\n  \"item\": {\n    \"title\": \"Card activation fee\", \u002F\u002F shown on the vault page and payer statement\n    \"description\": \"A once-off activation fee is charged when your card is saved\", \u002F\u002F [optional]\n    \"amount\": \"50.00\" \u002F\u002F one-time fee charged with the 3DS verification; omit to default to \"2.00\"\n  },\n\n  \u002F\u002F [optional] catalog invoice lines — overrides the default single line from item\n  \"items\": [\n    {\n      \"product_id\": \"pro_abc123...\",\n      \"qty\": 1 \u002F\u002F default 1 when omitted\n    },\n    {\n      \"product_id\": \"pro_xyz789...\",\n      \"price_excl\": 300.23 \u002F\u002F override the default product amount\n    }\n  ],\n\n  \u002F\u002F Issue and optionally email an invoice for the fee charge\n  \"invoice\": {\n    \"is_generate\": true,\n    \"is_send\": true \u002F\u002F send paid invoice to the customer when true\n  },\n\n  \"notification\": {\n    \"email\": \"me@my-email.co.za\", \u002F\u002F [optional] email notification when a card is stored\n    \"webhook_url\": \"https:\u002F\u002Fmerchant.example\u002Fwebhooks\u002Fcards\" \u002F\u002F webhook on card vault events\n  },\n\n  \"redirects\": {\n    \"success_url\": \"https:\u002F\u002Fmerchant.example\u002Fcard-saved?myquery=myparam\", \u002F\u002F may append &signature=\n    \"cancel_url\": \"https:\u002F\u002Fmerchant.example\u002Fcancel\"\n  }\n}\n",[176,382,383,387,405,411,435,439,451,473,497,519,525,530,536,550,556,578,597,603,608,628,646,652,658,663,669,683,698,716,721,726,740,764,786,791,796,810,834,854,859],{"__ignoreMap":260},[264,384,385],{"class":266,"line":267},[264,386,271],{"class":270},[264,388,389,391,393,395,397,399,401,403],{"class":266,"line":274},[264,390,277],{"class":270},[264,392,281],{"class":280},[264,394,284],{"class":270},[264,396,287],{"class":270},[264,398,290],{"class":270},[264,400,294],{"class":293},[264,402,284],{"class":270},[264,404,299],{"class":270},[264,406,407],{"class":266,"line":302},[264,408,410],{"emptyLinePlaceholder":409},true,"\n",[264,412,413,415,418,420,422,424,427,429,432],{"class":266,"line":317},[264,414,277],{"class":270},[264,416,417],{"class":280},"transaction_reference",[264,419,284],{"class":270},[264,421,287],{"class":270},[264,423,290],{"class":270},[264,425,426],{"class":293},"INV-2026-00042",[264,428,284],{"class":270},[264,430,431],{"class":270},",",[264,433,434],{"class":338}," \u002F\u002F [optional] your reference for the fee charge; appears on statements and reporting\n",[264,436,437],{"class":266,"line":342},[264,438,410],{"emptyLinePlaceholder":409},[264,440,441,443,445,447,449],{"class":266,"line":348},[264,442,277],{"class":270},[264,444,307],{"class":280},[264,446,284],{"class":270},[264,448,287],{"class":270},[264,450,314],{"class":270},[264,452,454,456,458,460,462,464,467,469,471],{"class":266,"line":453},7,[264,455,320],{"class":270},[264,457,324],{"class":323},[264,459,284],{"class":270},[264,461,287],{"class":270},[264,463,290],{"class":270},[264,465,466],{"class":293},"Card activation fee",[264,468,284],{"class":270},[264,470,431],{"class":270},[264,472,339],{"class":338},[264,474,476,478,481,483,485,487,490,492,494],{"class":266,"line":475},8,[264,477,320],{"class":270},[264,479,480],{"class":323},"description",[264,482,284],{"class":270},[264,484,287],{"class":270},[264,486,290],{"class":270},[264,488,489],{"class":293},"A once-off activation fee is charged when your card is saved",[264,491,284],{"class":270},[264,493,431],{"class":270},[264,495,496],{"class":338}," \u002F\u002F [optional]\n",[264,498,500,502,505,507,509,511,514,516],{"class":266,"line":499},9,[264,501,320],{"class":270},[264,503,504],{"class":323},"amount",[264,506,284],{"class":270},[264,508,287],{"class":270},[264,510,290],{"class":270},[264,512,513],{"class":293},"50.00",[264,515,284],{"class":270},[264,517,518],{"class":338}," \u002F\u002F one-time fee charged with the 3DS verification; omit to default to \"2.00\"\n",[264,520,522],{"class":266,"line":521},10,[264,523,524],{"class":270},"  },\n",[264,526,528],{"class":266,"line":527},11,[264,529,410],{"emptyLinePlaceholder":409},[264,531,533],{"class":266,"line":532},12,[264,534,535],{"class":338},"  \u002F\u002F [optional] catalog invoice lines — overrides the default single line from item\n",[264,537,539,541,543,545,547],{"class":266,"line":538},13,[264,540,277],{"class":270},[264,542,373],{"class":280},[264,544,284],{"class":270},[264,546,287],{"class":270},[264,548,549],{"class":270}," [\n",[264,551,553],{"class":266,"line":552},14,[264,554,555],{"class":270},"    {\n",[264,557,559,562,565,567,569,571,574,576],{"class":266,"line":558},15,[264,560,561],{"class":270},"      \"",[264,563,564],{"class":323},"product_id",[264,566,284],{"class":270},[264,568,287],{"class":270},[264,570,290],{"class":270},[264,572,573],{"class":293},"pro_abc123...",[264,575,284],{"class":270},[264,577,299],{"class":270},[264,579,581,583,586,588,590,594],{"class":266,"line":580},16,[264,582,561],{"class":270},[264,584,585],{"class":323},"qty",[264,587,284],{"class":270},[264,589,287],{"class":270},[264,591,593],{"class":592},"sbssI"," 1",[264,595,596],{"class":338}," \u002F\u002F default 1 when omitted\n",[264,598,600],{"class":266,"line":599},17,[264,601,602],{"class":270},"    },\n",[264,604,606],{"class":266,"line":605},18,[264,607,555],{"class":270},[264,609,611,613,615,617,619,621,624,626],{"class":266,"line":610},19,[264,612,561],{"class":270},[264,614,564],{"class":323},[264,616,284],{"class":270},[264,618,287],{"class":270},[264,620,290],{"class":270},[264,622,623],{"class":293},"pro_xyz789...",[264,625,284],{"class":270},[264,627,299],{"class":270},[264,629,631,633,636,638,640,643],{"class":266,"line":630},20,[264,632,561],{"class":270},[264,634,635],{"class":323},"price_excl",[264,637,284],{"class":270},[264,639,287],{"class":270},[264,641,642],{"class":592}," 300.23",[264,644,645],{"class":338}," \u002F\u002F override the default product amount\n",[264,647,649],{"class":266,"line":648},21,[264,650,651],{"class":270},"    }\n",[264,653,655],{"class":266,"line":654},22,[264,656,657],{"class":270},"  ],\n",[264,659,661],{"class":266,"line":660},23,[264,662,410],{"emptyLinePlaceholder":409},[264,664,666],{"class":266,"line":665},24,[264,667,668],{"class":338},"  \u002F\u002F Issue and optionally email an invoice for the fee charge\n",[264,670,672,674,677,679,681],{"class":266,"line":671},25,[264,673,277],{"class":270},[264,675,676],{"class":280},"invoice",[264,678,284],{"class":270},[264,680,287],{"class":270},[264,682,314],{"class":270},[264,684,686,688,691,693,695],{"class":266,"line":685},26,[264,687,320],{"class":270},[264,689,690],{"class":323},"is_generate",[264,692,284],{"class":270},[264,694,287],{"class":270},[264,696,697],{"class":270}," true,\n",[264,699,701,703,706,708,710,713],{"class":266,"line":700},27,[264,702,320],{"class":270},[264,704,705],{"class":323},"is_send",[264,707,284],{"class":270},[264,709,287],{"class":270},[264,711,712],{"class":270}," true",[264,714,715],{"class":338}," \u002F\u002F send paid invoice to the customer when true\n",[264,717,719],{"class":266,"line":718},28,[264,720,524],{"class":270},[264,722,724],{"class":266,"line":723},29,[264,725,410],{"emptyLinePlaceholder":409},[264,727,729,731,734,736,738],{"class":266,"line":728},30,[264,730,277],{"class":270},[264,732,733],{"class":280},"notification",[264,735,284],{"class":270},[264,737,287],{"class":270},[264,739,314],{"class":270},[264,741,743,745,748,750,752,754,757,759,761],{"class":266,"line":742},31,[264,744,320],{"class":270},[264,746,747],{"class":323},"email",[264,749,284],{"class":270},[264,751,287],{"class":270},[264,753,290],{"class":270},[264,755,756],{"class":293},"me@my-email.co.za",[264,758,284],{"class":270},[264,760,431],{"class":270},[264,762,763],{"class":338}," \u002F\u002F [optional] email notification when a card is stored\n",[264,765,767,769,772,774,776,778,781,783],{"class":266,"line":766},32,[264,768,320],{"class":270},[264,770,771],{"class":323},"webhook_url",[264,773,284],{"class":270},[264,775,287],{"class":270},[264,777,290],{"class":270},[264,779,780],{"class":293},"https:\u002F\u002Fmerchant.example\u002Fwebhooks\u002Fcards",[264,782,284],{"class":270},[264,784,785],{"class":338}," \u002F\u002F webhook on card vault events\n",[264,787,789],{"class":266,"line":788},33,[264,790,524],{"class":270},[264,792,794],{"class":266,"line":793},34,[264,795,410],{"emptyLinePlaceholder":409},[264,797,799,801,804,806,808],{"class":266,"line":798},35,[264,800,277],{"class":270},[264,802,803],{"class":280},"redirects",[264,805,284],{"class":270},[264,807,287],{"class":270},[264,809,314],{"class":270},[264,811,813,815,818,820,822,824,827,829,831],{"class":266,"line":812},36,[264,814,320],{"class":270},[264,816,817],{"class":323},"success_url",[264,819,284],{"class":270},[264,821,287],{"class":270},[264,823,290],{"class":270},[264,825,826],{"class":293},"https:\u002F\u002Fmerchant.example\u002Fcard-saved?myquery=myparam",[264,828,284],{"class":270},[264,830,431],{"class":270},[264,832,833],{"class":338}," \u002F\u002F may append &signature=\n",[264,835,837,839,842,844,846,848,851],{"class":266,"line":836},37,[264,838,320],{"class":270},[264,840,841],{"class":323},"cancel_url",[264,843,284],{"class":270},[264,845,287],{"class":270},[264,847,290],{"class":270},[264,849,850],{"class":293},"https:\u002F\u002Fmerchant.example\u002Fcancel",[264,852,853],{"class":270},"\"\n",[264,855,857],{"class":266,"line":856},38,[264,858,345],{"class":270},[264,860,862],{"class":266,"line":861},39,[264,863,351],{"class":270},[185,865,867],{"id":866},"example-manage-cards","Example (Manage cards)",[169,869,870,871,873],{},"Create a link where the payer can view, add, remove, set the default, and reorder their stored cards. Adding a card runs the same 3DS verification flow as ",[176,872,294],{},".",[255,875,877],{"className":257,"code":876,"language":259,"meta":260,"style":260},"{\n  \"type\": \"MANAGE_CARDS\",\n\n  \"item\": {\n    \"title\": \"Manage your cards\"\n  },\n\n  \"manage\": {\n    \"is_allow_add\": true, \u002F\u002F [optional] default true — payer can add a new card (runs the R2.00 \u002F fee 3DS flow)\n    \"is_allow_remove\": true, \u002F\u002F [optional] default true — removing the default card promotes the next card by priority\n    \"is_allow_set_default\": true, \u002F\u002F [optional] default true — payer can choose their default card and reorder fallbacks\n    \"max_cards\": 3, \u002F\u002F [optional] cap on stored cards for this customer; the link shows an error state when the customer is at the limit — omit for no limit\n    \"is_duplicate_check\": true \u002F\u002F [optional] default true — rejects storing a card whose PAN fingerprint already exists on this customer\n  },\n\n  \"notification\": {\n    \"webhook_url\": \"https:\u002F\u002Fmerchant.example\u002Fwebhooks\u002Fcards\" \u002F\u002F card.stored · card.removed · card.default_changed · card.reordered\n  },\n\n  \"redirects\": {\n    \"success_url\": \"https:\u002F\u002Fmerchant.example\u002Fcards?myquery=myparam\",\n    \"cancel_url\": \"https:\u002F\u002Fmerchant.example\u002Fcancel\"\n  }\n}\n",[176,878,879,883,902,906,918,935,939,943,956,973,989,1005,1024,1040,1044,1048,1060,1079,1083,1087,1099,1118,1134,1138],{"__ignoreMap":260},[264,880,881],{"class":266,"line":267},[264,882,271],{"class":270},[264,884,885,887,889,891,893,895,898,900],{"class":266,"line":274},[264,886,277],{"class":270},[264,888,281],{"class":280},[264,890,284],{"class":270},[264,892,287],{"class":270},[264,894,290],{"class":270},[264,896,897],{"class":293},"MANAGE_CARDS",[264,899,284],{"class":270},[264,901,299],{"class":270},[264,903,904],{"class":266,"line":302},[264,905,410],{"emptyLinePlaceholder":409},[264,907,908,910,912,914,916],{"class":266,"line":317},[264,909,277],{"class":270},[264,911,307],{"class":280},[264,913,284],{"class":270},[264,915,287],{"class":270},[264,917,314],{"class":270},[264,919,920,922,924,926,928,930,933],{"class":266,"line":342},[264,921,320],{"class":270},[264,923,324],{"class":323},[264,925,284],{"class":270},[264,927,287],{"class":270},[264,929,290],{"class":270},[264,931,932],{"class":293},"Manage your cards",[264,934,853],{"class":270},[264,936,937],{"class":266,"line":348},[264,938,524],{"class":270},[264,940,941],{"class":266,"line":453},[264,942,410],{"emptyLinePlaceholder":409},[264,944,945,947,950,952,954],{"class":266,"line":475},[264,946,277],{"class":270},[264,948,949],{"class":280},"manage",[264,951,284],{"class":270},[264,953,287],{"class":270},[264,955,314],{"class":270},[264,957,958,960,963,965,967,970],{"class":266,"line":499},[264,959,320],{"class":270},[264,961,962],{"class":323},"is_allow_add",[264,964,284],{"class":270},[264,966,287],{"class":270},[264,968,969],{"class":270}," true,",[264,971,972],{"class":338}," \u002F\u002F [optional] default true — payer can add a new card (runs the R2.00 \u002F fee 3DS flow)\n",[264,974,975,977,980,982,984,986],{"class":266,"line":521},[264,976,320],{"class":270},[264,978,979],{"class":323},"is_allow_remove",[264,981,284],{"class":270},[264,983,287],{"class":270},[264,985,969],{"class":270},[264,987,988],{"class":338}," \u002F\u002F [optional] default true — removing the default card promotes the next card by priority\n",[264,990,991,993,996,998,1000,1002],{"class":266,"line":527},[264,992,320],{"class":270},[264,994,995],{"class":323},"is_allow_set_default",[264,997,284],{"class":270},[264,999,287],{"class":270},[264,1001,969],{"class":270},[264,1003,1004],{"class":338}," \u002F\u002F [optional] default true — payer can choose their default card and reorder fallbacks\n",[264,1006,1007,1009,1012,1014,1016,1019,1021],{"class":266,"line":532},[264,1008,320],{"class":270},[264,1010,1011],{"class":323},"max_cards",[264,1013,284],{"class":270},[264,1015,287],{"class":270},[264,1017,1018],{"class":592}," 3",[264,1020,431],{"class":270},[264,1022,1023],{"class":338}," \u002F\u002F [optional] cap on stored cards for this customer; the link shows an error state when the customer is at the limit — omit for no limit\n",[264,1025,1026,1028,1031,1033,1035,1037],{"class":266,"line":538},[264,1027,320],{"class":270},[264,1029,1030],{"class":323},"is_duplicate_check",[264,1032,284],{"class":270},[264,1034,287],{"class":270},[264,1036,712],{"class":270},[264,1038,1039],{"class":338}," \u002F\u002F [optional] default true — rejects storing a card whose PAN fingerprint already exists on this customer\n",[264,1041,1042],{"class":266,"line":552},[264,1043,524],{"class":270},[264,1045,1046],{"class":266,"line":558},[264,1047,410],{"emptyLinePlaceholder":409},[264,1049,1050,1052,1054,1056,1058],{"class":266,"line":580},[264,1051,277],{"class":270},[264,1053,733],{"class":280},[264,1055,284],{"class":270},[264,1057,287],{"class":270},[264,1059,314],{"class":270},[264,1061,1062,1064,1066,1068,1070,1072,1074,1076],{"class":266,"line":599},[264,1063,320],{"class":270},[264,1065,771],{"class":323},[264,1067,284],{"class":270},[264,1069,287],{"class":270},[264,1071,290],{"class":270},[264,1073,780],{"class":293},[264,1075,284],{"class":270},[264,1077,1078],{"class":338}," \u002F\u002F card.stored · card.removed · card.default_changed · card.reordered\n",[264,1080,1081],{"class":266,"line":605},[264,1082,524],{"class":270},[264,1084,1085],{"class":266,"line":610},[264,1086,410],{"emptyLinePlaceholder":409},[264,1088,1089,1091,1093,1095,1097],{"class":266,"line":630},[264,1090,277],{"class":270},[264,1092,803],{"class":280},[264,1094,284],{"class":270},[264,1096,287],{"class":270},[264,1098,314],{"class":270},[264,1100,1101,1103,1105,1107,1109,1111,1114,1116],{"class":266,"line":648},[264,1102,320],{"class":270},[264,1104,817],{"class":323},[264,1106,284],{"class":270},[264,1108,287],{"class":270},[264,1110,290],{"class":270},[264,1112,1113],{"class":293},"https:\u002F\u002Fmerchant.example\u002Fcards?myquery=myparam",[264,1115,284],{"class":270},[264,1117,299],{"class":270},[264,1119,1120,1122,1124,1126,1128,1130,1132],{"class":266,"line":654},[264,1121,320],{"class":270},[264,1123,841],{"class":323},[264,1125,284],{"class":270},[264,1127,287],{"class":270},[264,1129,290],{"class":270},[264,1131,850],{"class":293},[264,1133,853],{"class":270},[264,1135,1136],{"class":266,"line":660},[264,1137,345],{"class":270},[264,1139,1140],{"class":266,"line":665},[264,1141,351],{"class":270},[185,1143,1145],{"id":1144},"example-advanced","Example (Advanced)",[169,1147,1148],{},"Advanced example with all options, including card placement in the cascade order, vault limits, and page customization.",[255,1150,1152],{"className":257,"code":1151,"language":259,"meta":260,"style":260},"{\n  \"type\": \"STORE_CARD\",\n\n  \"transaction_reference\": \"INV-2026-00042\", \u002F\u002F [optional] your reference for the fee charge; appears on statements and reporting\n\n  \"signature\": \"secret-key-for-payload\", \u002F\u002F [optional] shared-secret signature for the payload, see the signature section below\n\n  \"item\": {\n    \"title\": \"Save your card\",\n    \"description\": \"Securely store your card for future payments\",\n    \"amount\": \"50.00\" \u002F\u002F one-time fee charged with the 3DS verification; omit to default to \"2.00\"\n  },\n\n  \u002F\u002F Placement of the newly stored card in the customer's cascade order\n  \"card\": {\n    \"is_default\": false, \u002F\u002F [optional] default true for the customer's first card, false otherwise; when true, the existing default card is demoted\n    \"priority\": 2 \u002F\u002F [optional] explicit fallback position among non-default cards; ignored when is_default is true; defaults to the end of the cascade order\n  },\n\n  \"notification\": {\n    \"email\": \"me@my-email.co.za\",\n    \"webhook_url\": \"https:\u002F\u002Fmerchant.example\u002Fwebhooks\u002Fcards\"\n  },\n\n  \"redirects\": {\n    \"success_url\": \"https:\u002F\u002Fmerchant.example\u002Fcard-saved?myquery=myparam\",\n    \"cancel_url\": \"https:\u002F\u002Fmerchant.example\u002Fcancel\"\n  },\n\n  \"settings\": {\n    \"expiry_time\": 1440 \u002F\u002F minutes until the vault link lapses — omit when the link never expires (default)\n  },\n\n  \"customization\": {\n    \"button_text\": \"Save card\", \u002F\u002F [optional] primary action button label\n    \"type\": \"PAGE\", \u002F\u002F or \"EMBED\" for iframe-style hosting or in-app card storage\n    \"is_display_cancel_button\": true,\n    \"confirmation_message\": \"Your card has been saved\", \u002F\u002F [optional] shown after successful storage; otherwise use redirects\n    \"brand\": {\n      \"primary\": \"#00DC82\",\n      \"secondary\": \"#CCCCCC\"\n    }\n  },\n\n  \"metadata\": {\n    \"order_id\": \"ord_98765\" \u002F\u002F [optional] custom key\u002Fvalue pairs returned on the stored card and webhooks\n  }\n}\n",[176,1153,1154,1158,1176,1180,1200,1204,1227,1231,1243,1261,1280,1298,1302,1306,1311,1324,1341,1358,1362,1366,1378,1396,1412,1416,1420,1432,1450,1466,1470,1474,1487,1504,1508,1512,1525,1548,1570,1583,1606,1619,1640,1659,1664,1669,1674,1688,1710,1715],{"__ignoreMap":260},[264,1155,1156],{"class":266,"line":267},[264,1157,271],{"class":270},[264,1159,1160,1162,1164,1166,1168,1170,1172,1174],{"class":266,"line":274},[264,1161,277],{"class":270},[264,1163,281],{"class":280},[264,1165,284],{"class":270},[264,1167,287],{"class":270},[264,1169,290],{"class":270},[264,1171,294],{"class":293},[264,1173,284],{"class":270},[264,1175,299],{"class":270},[264,1177,1178],{"class":266,"line":302},[264,1179,410],{"emptyLinePlaceholder":409},[264,1181,1182,1184,1186,1188,1190,1192,1194,1196,1198],{"class":266,"line":317},[264,1183,277],{"class":270},[264,1185,417],{"class":280},[264,1187,284],{"class":270},[264,1189,287],{"class":270},[264,1191,290],{"class":270},[264,1193,426],{"class":293},[264,1195,284],{"class":270},[264,1197,431],{"class":270},[264,1199,434],{"class":338},[264,1201,1202],{"class":266,"line":342},[264,1203,410],{"emptyLinePlaceholder":409},[264,1205,1206,1208,1211,1213,1215,1217,1220,1222,1224],{"class":266,"line":348},[264,1207,277],{"class":270},[264,1209,1210],{"class":280},"signature",[264,1212,284],{"class":270},[264,1214,287],{"class":270},[264,1216,290],{"class":270},[264,1218,1219],{"class":293},"secret-key-for-payload",[264,1221,284],{"class":270},[264,1223,431],{"class":270},[264,1225,1226],{"class":338}," \u002F\u002F [optional] shared-secret signature for the payload, see the signature section below\n",[264,1228,1229],{"class":266,"line":453},[264,1230,410],{"emptyLinePlaceholder":409},[264,1232,1233,1235,1237,1239,1241],{"class":266,"line":475},[264,1234,277],{"class":270},[264,1236,307],{"class":280},[264,1238,284],{"class":270},[264,1240,287],{"class":270},[264,1242,314],{"class":270},[264,1244,1245,1247,1249,1251,1253,1255,1257,1259],{"class":266,"line":499},[264,1246,320],{"class":270},[264,1248,324],{"class":323},[264,1250,284],{"class":270},[264,1252,287],{"class":270},[264,1254,290],{"class":270},[264,1256,333],{"class":293},[264,1258,284],{"class":270},[264,1260,299],{"class":270},[264,1262,1263,1265,1267,1269,1271,1273,1276,1278],{"class":266,"line":521},[264,1264,320],{"class":270},[264,1266,480],{"class":323},[264,1268,284],{"class":270},[264,1270,287],{"class":270},[264,1272,290],{"class":270},[264,1274,1275],{"class":293},"Securely store your card for future payments",[264,1277,284],{"class":270},[264,1279,299],{"class":270},[264,1281,1282,1284,1286,1288,1290,1292,1294,1296],{"class":266,"line":527},[264,1283,320],{"class":270},[264,1285,504],{"class":323},[264,1287,284],{"class":270},[264,1289,287],{"class":270},[264,1291,290],{"class":270},[264,1293,513],{"class":293},[264,1295,284],{"class":270},[264,1297,518],{"class":338},[264,1299,1300],{"class":266,"line":532},[264,1301,524],{"class":270},[264,1303,1304],{"class":266,"line":538},[264,1305,410],{"emptyLinePlaceholder":409},[264,1307,1308],{"class":266,"line":552},[264,1309,1310],{"class":338},"  \u002F\u002F Placement of the newly stored card in the customer's cascade order\n",[264,1312,1313,1315,1318,1320,1322],{"class":266,"line":558},[264,1314,277],{"class":270},[264,1316,1317],{"class":280},"card",[264,1319,284],{"class":270},[264,1321,287],{"class":270},[264,1323,314],{"class":270},[264,1325,1326,1328,1331,1333,1335,1338],{"class":266,"line":580},[264,1327,320],{"class":270},[264,1329,1330],{"class":323},"is_default",[264,1332,284],{"class":270},[264,1334,287],{"class":270},[264,1336,1337],{"class":270}," false,",[264,1339,1340],{"class":338}," \u002F\u002F [optional] default true for the customer's first card, false otherwise; when true, the existing default card is demoted\n",[264,1342,1343,1345,1348,1350,1352,1355],{"class":266,"line":599},[264,1344,320],{"class":270},[264,1346,1347],{"class":323},"priority",[264,1349,284],{"class":270},[264,1351,287],{"class":270},[264,1353,1354],{"class":592}," 2",[264,1356,1357],{"class":338}," \u002F\u002F [optional] explicit fallback position among non-default cards; ignored when is_default is true; defaults to the end of the cascade order\n",[264,1359,1360],{"class":266,"line":605},[264,1361,524],{"class":270},[264,1363,1364],{"class":266,"line":610},[264,1365,410],{"emptyLinePlaceholder":409},[264,1367,1368,1370,1372,1374,1376],{"class":266,"line":630},[264,1369,277],{"class":270},[264,1371,733],{"class":280},[264,1373,284],{"class":270},[264,1375,287],{"class":270},[264,1377,314],{"class":270},[264,1379,1380,1382,1384,1386,1388,1390,1392,1394],{"class":266,"line":648},[264,1381,320],{"class":270},[264,1383,747],{"class":323},[264,1385,284],{"class":270},[264,1387,287],{"class":270},[264,1389,290],{"class":270},[264,1391,756],{"class":293},[264,1393,284],{"class":270},[264,1395,299],{"class":270},[264,1397,1398,1400,1402,1404,1406,1408,1410],{"class":266,"line":654},[264,1399,320],{"class":270},[264,1401,771],{"class":323},[264,1403,284],{"class":270},[264,1405,287],{"class":270},[264,1407,290],{"class":270},[264,1409,780],{"class":293},[264,1411,853],{"class":270},[264,1413,1414],{"class":266,"line":660},[264,1415,524],{"class":270},[264,1417,1418],{"class":266,"line":665},[264,1419,410],{"emptyLinePlaceholder":409},[264,1421,1422,1424,1426,1428,1430],{"class":266,"line":671},[264,1423,277],{"class":270},[264,1425,803],{"class":280},[264,1427,284],{"class":270},[264,1429,287],{"class":270},[264,1431,314],{"class":270},[264,1433,1434,1436,1438,1440,1442,1444,1446,1448],{"class":266,"line":685},[264,1435,320],{"class":270},[264,1437,817],{"class":323},[264,1439,284],{"class":270},[264,1441,287],{"class":270},[264,1443,290],{"class":270},[264,1445,826],{"class":293},[264,1447,284],{"class":270},[264,1449,299],{"class":270},[264,1451,1452,1454,1456,1458,1460,1462,1464],{"class":266,"line":700},[264,1453,320],{"class":270},[264,1455,841],{"class":323},[264,1457,284],{"class":270},[264,1459,287],{"class":270},[264,1461,290],{"class":270},[264,1463,850],{"class":293},[264,1465,853],{"class":270},[264,1467,1468],{"class":266,"line":718},[264,1469,524],{"class":270},[264,1471,1472],{"class":266,"line":723},[264,1473,410],{"emptyLinePlaceholder":409},[264,1475,1476,1478,1481,1483,1485],{"class":266,"line":728},[264,1477,277],{"class":270},[264,1479,1480],{"class":280},"settings",[264,1482,284],{"class":270},[264,1484,287],{"class":270},[264,1486,314],{"class":270},[264,1488,1489,1491,1494,1496,1498,1501],{"class":266,"line":742},[264,1490,320],{"class":270},[264,1492,1493],{"class":323},"expiry_time",[264,1495,284],{"class":270},[264,1497,287],{"class":270},[264,1499,1500],{"class":592}," 1440",[264,1502,1503],{"class":338}," \u002F\u002F minutes until the vault link lapses — omit when the link never expires (default)\n",[264,1505,1506],{"class":266,"line":766},[264,1507,524],{"class":270},[264,1509,1510],{"class":266,"line":788},[264,1511,410],{"emptyLinePlaceholder":409},[264,1513,1514,1516,1519,1521,1523],{"class":266,"line":793},[264,1515,277],{"class":270},[264,1517,1518],{"class":280},"customization",[264,1520,284],{"class":270},[264,1522,287],{"class":270},[264,1524,314],{"class":270},[264,1526,1527,1529,1532,1534,1536,1538,1541,1543,1545],{"class":266,"line":798},[264,1528,320],{"class":270},[264,1530,1531],{"class":323},"button_text",[264,1533,284],{"class":270},[264,1535,287],{"class":270},[264,1537,290],{"class":270},[264,1539,1540],{"class":293},"Save card",[264,1542,284],{"class":270},[264,1544,431],{"class":270},[264,1546,1547],{"class":338}," \u002F\u002F [optional] primary action button label\n",[264,1549,1550,1552,1554,1556,1558,1560,1563,1565,1567],{"class":266,"line":812},[264,1551,320],{"class":270},[264,1553,281],{"class":323},[264,1555,284],{"class":270},[264,1557,287],{"class":270},[264,1559,290],{"class":270},[264,1561,1562],{"class":293},"PAGE",[264,1564,284],{"class":270},[264,1566,431],{"class":270},[264,1568,1569],{"class":338}," \u002F\u002F or \"EMBED\" for iframe-style hosting or in-app card storage\n",[264,1571,1572,1574,1577,1579,1581],{"class":266,"line":836},[264,1573,320],{"class":270},[264,1575,1576],{"class":323},"is_display_cancel_button",[264,1578,284],{"class":270},[264,1580,287],{"class":270},[264,1582,697],{"class":270},[264,1584,1585,1587,1590,1592,1594,1596,1599,1601,1603],{"class":266,"line":856},[264,1586,320],{"class":270},[264,1588,1589],{"class":323},"confirmation_message",[264,1591,284],{"class":270},[264,1593,287],{"class":270},[264,1595,290],{"class":270},[264,1597,1598],{"class":293},"Your card has been saved",[264,1600,284],{"class":270},[264,1602,431],{"class":270},[264,1604,1605],{"class":338}," \u002F\u002F [optional] shown after successful storage; otherwise use redirects\n",[264,1607,1608,1610,1613,1615,1617],{"class":266,"line":861},[264,1609,320],{"class":270},[264,1611,1612],{"class":323},"brand",[264,1614,284],{"class":270},[264,1616,287],{"class":270},[264,1618,314],{"class":270},[264,1620,1622,1624,1627,1629,1631,1633,1636,1638],{"class":266,"line":1621},40,[264,1623,561],{"class":270},[264,1625,1626],{"class":592},"primary",[264,1628,284],{"class":270},[264,1630,287],{"class":270},[264,1632,290],{"class":270},[264,1634,1635],{"class":293},"#00DC82",[264,1637,284],{"class":270},[264,1639,299],{"class":270},[264,1641,1643,1645,1648,1650,1652,1654,1657],{"class":266,"line":1642},41,[264,1644,561],{"class":270},[264,1646,1647],{"class":592},"secondary",[264,1649,284],{"class":270},[264,1651,287],{"class":270},[264,1653,290],{"class":270},[264,1655,1656],{"class":293},"#CCCCCC",[264,1658,853],{"class":270},[264,1660,1662],{"class":266,"line":1661},42,[264,1663,651],{"class":270},[264,1665,1667],{"class":266,"line":1666},43,[264,1668,524],{"class":270},[264,1670,1672],{"class":266,"line":1671},44,[264,1673,410],{"emptyLinePlaceholder":409},[264,1675,1677,1679,1682,1684,1686],{"class":266,"line":1676},45,[264,1678,277],{"class":270},[264,1680,1681],{"class":280},"metadata",[264,1683,284],{"class":270},[264,1685,287],{"class":270},[264,1687,314],{"class":270},[264,1689,1691,1693,1696,1698,1700,1702,1705,1707],{"class":266,"line":1690},46,[264,1692,320],{"class":270},[264,1694,1695],{"class":323},"order_id",[264,1697,284],{"class":270},[264,1699,287],{"class":270},[264,1701,290],{"class":270},[264,1703,1704],{"class":293},"ord_98765",[264,1706,284],{"class":270},[264,1708,1709],{"class":338}," \u002F\u002F [optional] custom key\u002Fvalue pairs returned on the stored card and webhooks\n",[264,1711,1713],{"class":266,"line":1712},47,[264,1714,345],{"class":270},[264,1716,1718],{"class":266,"line":1717},48,[264,1719,351],{"class":270},[185,1721,1723],{"id":1722},"example-embed-card-storage","Example (Embed card storage)",[169,1725,1726],{},"Embed card storage into your mobile app or frameworks like React, Angular or Vue.",[255,1728,1730],{"className":257,"code":1729,"language":259,"meta":260,"style":260},"{\n  \"type\": \"STORE_CARD\",\n\n  \"item\": {\n    \"title\": \"Save your card\"\n  },\n\n  \"customization\": {\n    \"button_text\": \"Save card\", \u002F\u002F [optional]\n    \"type\": \"EMBED\", \u002F\u002F show embedded screen that can be displayed in an iFrame or WebView, this will also send message events instead of a redirect\n    \"embed_channel\": \"APP\", \u002F\u002F [optional] WEB for an iframe on the web, APP for a WebView in a native app — default APP; applies when type is EMBED\n    \"is_display_cancel_button\": false, \u002F\u002F hide the cancel button, if true will trigger a 'card.cancelled' message\n    \"brand\": {\n      \"primary\": \"#00DC82\", \u002F\u002F brand according to your app\n      \"secondary\": \"#CCCCCC\"\n    }\n  }\n}\n",[176,1731,1732,1736,1754,1758,1770,1786,1790,1794,1806,1826,1848,1871,1886,1898,1919,1935,1939,1943],{"__ignoreMap":260},[264,1733,1734],{"class":266,"line":267},[264,1735,271],{"class":270},[264,1737,1738,1740,1742,1744,1746,1748,1750,1752],{"class":266,"line":274},[264,1739,277],{"class":270},[264,1741,281],{"class":280},[264,1743,284],{"class":270},[264,1745,287],{"class":270},[264,1747,290],{"class":270},[264,1749,294],{"class":293},[264,1751,284],{"class":270},[264,1753,299],{"class":270},[264,1755,1756],{"class":266,"line":302},[264,1757,410],{"emptyLinePlaceholder":409},[264,1759,1760,1762,1764,1766,1768],{"class":266,"line":317},[264,1761,277],{"class":270},[264,1763,307],{"class":280},[264,1765,284],{"class":270},[264,1767,287],{"class":270},[264,1769,314],{"class":270},[264,1771,1772,1774,1776,1778,1780,1782,1784],{"class":266,"line":342},[264,1773,320],{"class":270},[264,1775,324],{"class":323},[264,1777,284],{"class":270},[264,1779,287],{"class":270},[264,1781,290],{"class":270},[264,1783,333],{"class":293},[264,1785,853],{"class":270},[264,1787,1788],{"class":266,"line":348},[264,1789,524],{"class":270},[264,1791,1792],{"class":266,"line":453},[264,1793,410],{"emptyLinePlaceholder":409},[264,1795,1796,1798,1800,1802,1804],{"class":266,"line":475},[264,1797,277],{"class":270},[264,1799,1518],{"class":280},[264,1801,284],{"class":270},[264,1803,287],{"class":270},[264,1805,314],{"class":270},[264,1807,1808,1810,1812,1814,1816,1818,1820,1822,1824],{"class":266,"line":499},[264,1809,320],{"class":270},[264,1811,1531],{"class":323},[264,1813,284],{"class":270},[264,1815,287],{"class":270},[264,1817,290],{"class":270},[264,1819,1540],{"class":293},[264,1821,284],{"class":270},[264,1823,431],{"class":270},[264,1825,496],{"class":338},[264,1827,1828,1830,1832,1834,1836,1838,1841,1843,1845],{"class":266,"line":521},[264,1829,320],{"class":270},[264,1831,281],{"class":323},[264,1833,284],{"class":270},[264,1835,287],{"class":270},[264,1837,290],{"class":270},[264,1839,1840],{"class":293},"EMBED",[264,1842,284],{"class":270},[264,1844,431],{"class":270},[264,1846,1847],{"class":338}," \u002F\u002F show embedded screen that can be displayed in an iFrame or WebView, this will also send message events instead of a redirect\n",[264,1849,1850,1852,1855,1857,1859,1861,1864,1866,1868],{"class":266,"line":527},[264,1851,320],{"class":270},[264,1853,1854],{"class":323},"embed_channel",[264,1856,284],{"class":270},[264,1858,287],{"class":270},[264,1860,290],{"class":270},[264,1862,1863],{"class":293},"APP",[264,1865,284],{"class":270},[264,1867,431],{"class":270},[264,1869,1870],{"class":338}," \u002F\u002F [optional] WEB for an iframe on the web, APP for a WebView in a native app — default APP; applies when type is EMBED\n",[264,1872,1873,1875,1877,1879,1881,1883],{"class":266,"line":532},[264,1874,320],{"class":270},[264,1876,1576],{"class":323},[264,1878,284],{"class":270},[264,1880,287],{"class":270},[264,1882,1337],{"class":270},[264,1884,1885],{"class":338}," \u002F\u002F hide the cancel button, if true will trigger a 'card.cancelled' message\n",[264,1887,1888,1890,1892,1894,1896],{"class":266,"line":538},[264,1889,320],{"class":270},[264,1891,1612],{"class":323},[264,1893,284],{"class":270},[264,1895,287],{"class":270},[264,1897,314],{"class":270},[264,1899,1900,1902,1904,1906,1908,1910,1912,1914,1916],{"class":266,"line":552},[264,1901,561],{"class":270},[264,1903,1626],{"class":592},[264,1905,284],{"class":270},[264,1907,287],{"class":270},[264,1909,290],{"class":270},[264,1911,1635],{"class":293},[264,1913,284],{"class":270},[264,1915,431],{"class":270},[264,1917,1918],{"class":338}," \u002F\u002F brand according to your app\n",[264,1920,1921,1923,1925,1927,1929,1931,1933],{"class":266,"line":558},[264,1922,561],{"class":270},[264,1924,1647],{"class":592},[264,1926,284],{"class":270},[264,1928,287],{"class":270},[264,1930,290],{"class":270},[264,1932,1656],{"class":293},[264,1934,853],{"class":270},[264,1936,1937],{"class":266,"line":580},[264,1938,651],{"class":270},[264,1940,1941],{"class":266,"line":599},[264,1942,345],{"class":270},[264,1944,1945],{"class":266,"line":605},[264,1946,351],{"class":270},[169,1948,1949],{},"The following message events will be sent to your app via a native bridge; use them to drive the next action:",[1951,1952,1953,1959,1964,1969,1974,1979],"ul",{},[1954,1955,1956],"li",{},[176,1957,1958],{},"card.loaded",[1954,1960,1961],{},[176,1962,1963],{},"card.cancelled",[1954,1965,1966],{},[176,1967,1968],{},"card.failed",[1954,1970,1971],{},[176,1972,1973],{},"card.stored",[1954,1975,1976],{},[176,1977,1978],{},"card.pending",[1954,1980,1981],{},[176,1982,1983],{},"card.closed",[169,1985,1986,1987,1989],{},"The following data will be sent in the message on ",[176,1988,1973],{}," events to verify the stored card:",[255,1991,1993],{"className":257,"code":1992,"language":259,"meta":260,"style":260},"{\n  \"source\": \"kwik-payments\",\n  \"event\": \"card.stored\",\n  \"sessionId\": \"ses_abc123...\",\n  \"customerId\": \"cus_abc123...\",\n  \"cardId\": \"crd_abc123...\",\n  \"transactionId\": \"tra_abc123...\",\n  \"status\": \"ACTIVE\"\n}\n",[176,1994,1995,1999,2019,2038,2058,2077,2097,2117,2135],{"__ignoreMap":260},[264,1996,1997],{"class":266,"line":267},[264,1998,271],{"class":270},[264,2000,2001,2003,2006,2008,2010,2012,2015,2017],{"class":266,"line":274},[264,2002,277],{"class":270},[264,2004,2005],{"class":280},"source",[264,2007,284],{"class":270},[264,2009,287],{"class":270},[264,2011,290],{"class":270},[264,2013,2014],{"class":293},"kwik-payments",[264,2016,284],{"class":270},[264,2018,299],{"class":270},[264,2020,2021,2023,2026,2028,2030,2032,2034,2036],{"class":266,"line":302},[264,2022,277],{"class":270},[264,2024,2025],{"class":280},"event",[264,2027,284],{"class":270},[264,2029,287],{"class":270},[264,2031,290],{"class":270},[264,2033,1973],{"class":293},[264,2035,284],{"class":270},[264,2037,299],{"class":270},[264,2039,2040,2042,2045,2047,2049,2051,2054,2056],{"class":266,"line":317},[264,2041,277],{"class":270},[264,2043,2044],{"class":280},"sessionId",[264,2046,284],{"class":270},[264,2048,287],{"class":270},[264,2050,290],{"class":270},[264,2052,2053],{"class":293},"ses_abc123...",[264,2055,284],{"class":270},[264,2057,299],{"class":270},[264,2059,2060,2062,2065,2067,2069,2071,2073,2075],{"class":266,"line":342},[264,2061,277],{"class":270},[264,2063,2064],{"class":280},"customerId",[264,2066,284],{"class":270},[264,2068,287],{"class":270},[264,2070,290],{"class":270},[264,2072,243],{"class":293},[264,2074,284],{"class":270},[264,2076,299],{"class":270},[264,2078,2079,2081,2084,2086,2088,2090,2093,2095],{"class":266,"line":348},[264,2080,277],{"class":270},[264,2082,2083],{"class":280},"cardId",[264,2085,284],{"class":270},[264,2087,287],{"class":270},[264,2089,290],{"class":270},[264,2091,2092],{"class":293},"crd_abc123...",[264,2094,284],{"class":270},[264,2096,299],{"class":270},[264,2098,2099,2101,2104,2106,2108,2110,2113,2115],{"class":266,"line":453},[264,2100,277],{"class":270},[264,2102,2103],{"class":280},"transactionId",[264,2105,284],{"class":270},[264,2107,287],{"class":270},[264,2109,290],{"class":270},[264,2111,2112],{"class":293},"tra_abc123...",[264,2114,284],{"class":270},[264,2116,299],{"class":270},[264,2118,2119,2121,2124,2126,2128,2130,2133],{"class":266,"line":475},[264,2120,277],{"class":270},[264,2122,2123],{"class":280},"status",[264,2125,284],{"class":270},[264,2127,287],{"class":270},[264,2129,290],{"class":270},[264,2131,2132],{"class":293},"ACTIVE",[264,2134,853],{"class":270},[264,2136,2137],{"class":266,"line":499},[264,2138,351],{"class":270},[169,2140,1986,2141,2143],{},[176,2142,1968],{}," events:",[255,2145,2147],{"className":257,"code":2146,"language":259,"meta":260,"style":260},"{\n  \"source\": \"kwik-payments\",\n  \"event\": \"card.failed\",\n  \"sessionId\": \"ses_abc123...\",\n  \"customerId\": \"cus_abc123...\",\n  \"transactionId\": \"tra_abc123...\",\n  \"status\": \"DECLINED\",\n  \"message\": \"Your card could not be verified due to insufficient funds\"\n}\n",[176,2148,2149,2153,2171,2189,2207,2225,2243,2262,2280],{"__ignoreMap":260},[264,2150,2151],{"class":266,"line":267},[264,2152,271],{"class":270},[264,2154,2155,2157,2159,2161,2163,2165,2167,2169],{"class":266,"line":274},[264,2156,277],{"class":270},[264,2158,2005],{"class":280},[264,2160,284],{"class":270},[264,2162,287],{"class":270},[264,2164,290],{"class":270},[264,2166,2014],{"class":293},[264,2168,284],{"class":270},[264,2170,299],{"class":270},[264,2172,2173,2175,2177,2179,2181,2183,2185,2187],{"class":266,"line":302},[264,2174,277],{"class":270},[264,2176,2025],{"class":280},[264,2178,284],{"class":270},[264,2180,287],{"class":270},[264,2182,290],{"class":270},[264,2184,1968],{"class":293},[264,2186,284],{"class":270},[264,2188,299],{"class":270},[264,2190,2191,2193,2195,2197,2199,2201,2203,2205],{"class":266,"line":317},[264,2192,277],{"class":270},[264,2194,2044],{"class":280},[264,2196,284],{"class":270},[264,2198,287],{"class":270},[264,2200,290],{"class":270},[264,2202,2053],{"class":293},[264,2204,284],{"class":270},[264,2206,299],{"class":270},[264,2208,2209,2211,2213,2215,2217,2219,2221,2223],{"class":266,"line":342},[264,2210,277],{"class":270},[264,2212,2064],{"class":280},[264,2214,284],{"class":270},[264,2216,287],{"class":270},[264,2218,290],{"class":270},[264,2220,243],{"class":293},[264,2222,284],{"class":270},[264,2224,299],{"class":270},[264,2226,2227,2229,2231,2233,2235,2237,2239,2241],{"class":266,"line":348},[264,2228,277],{"class":270},[264,2230,2103],{"class":280},[264,2232,284],{"class":270},[264,2234,287],{"class":270},[264,2236,290],{"class":270},[264,2238,2112],{"class":293},[264,2240,284],{"class":270},[264,2242,299],{"class":270},[264,2244,2245,2247,2249,2251,2253,2255,2258,2260],{"class":266,"line":453},[264,2246,277],{"class":270},[264,2248,2123],{"class":280},[264,2250,284],{"class":270},[264,2252,287],{"class":270},[264,2254,290],{"class":270},[264,2256,2257],{"class":293},"DECLINED",[264,2259,284],{"class":270},[264,2261,299],{"class":270},[264,2263,2264,2266,2269,2271,2273,2275,2278],{"class":266,"line":475},[264,2265,277],{"class":270},[264,2267,2268],{"class":280},"message",[264,2270,284],{"class":270},[264,2272,287],{"class":270},[264,2274,290],{"class":270},[264,2276,2277],{"class":293},"Your card could not be verified due to insufficient funds",[264,2279,853],{"class":270},[264,2281,2282],{"class":266,"line":499},[264,2283,351],{"class":270},[2285,2286,2290],"callout",{"color":2287,"icon":2288,"to":2289},"info","i-lucide-code-xml","\u002Fv2\u002Fmoney-in\u002Fcheckout-link#using-iframes",[169,2291,2292,2293,2295],{},"See ",[369,2294,87],{}," for how the integration works for embedded payments.",[185,2297,2299],{"id":2298},"request-parameters","Request Parameters",[169,2301,2302,2303,2307,2308,2311,2312,2315,2316,873],{},"Fields below appear in the ",[237,2304,2306],{"href":2305},"#example-basic","request body examples"," on this page. ",[369,2309,2310],{},"Y"," = required for all requests, ",[369,2313,2314],{},"C"," = required or applicable depending on ",[176,2317,281],{},[199,2319,2320,2343],{},[202,2321,2322],{},[205,2323,2324,2331,2334,2336,2341],{},[208,2325,2326],{"align":210},[2327,2328,2330],"div",{"style":2329},"width:100px","Field",[208,2332,2333],{"align":210},"Required",[208,2335,214],{"align":210},[208,2337,2338],{"align":210},[2327,2339,217],{"style":2340},"width:300px",[208,2342,220],{"align":210},[222,2344,2345,2367,2382,2397,2412,2429,2443,2460,2486,2508,2530,2546,2566,2584,2598,2612,2630,2649,2665,2681,2696,2712,2725,2742,2760,2781,2798,2813,2827,2841,2866,2899,2913,2927,2941],{},[205,2346,2347,2349,2351,2354,2363],{},[227,2348,281],{"align":210},[227,2350,2310],{"align":210},[227,2352,2353],{"align":210},"ENUM",[227,2355,2356,2357,2359,2360,2362],{"align":210},"Vault mode: ",[176,2358,294],{}," (store a new card) or ",[176,2361,897],{}," (view, add, remove, set default, reorder stored cards)",[227,2364,2365],{"align":210},[176,2366,294],{},[205,2368,2369,2371,2373,2376,2379],{},[227,2370,307],{"align":210},[227,2372,2310],{"align":210},[227,2374,2375],{"align":210},"Object",[227,2377,2378],{"align":210},"Payer-facing details for the vault page",[227,2380,2381],{"align":210},"See basic example",[205,2383,2384,2387,2389,2392,2395],{},[227,2385,2386],{"align":210},"item.title",[227,2388,2310],{"align":210},[227,2390,2391],{"align":210},"String",[227,2393,2394],{"align":210},"Title shown on the vault page and payer statement",[227,2396,333],{"align":210},[205,2398,2399,2402,2405,2407,2410],{},[227,2400,2401],{"align":210},"item.description",[227,2403,2404],{"align":210},"N",[227,2406,2391],{"align":210},[227,2408,2409],{"align":210},"Optional longer description shown on the vault page",[227,2411,1275],{"align":210},[205,2413,2414,2416,2418,2420,2427],{},[227,2415,178],{"align":210},[227,2417,2404],{"align":210},[227,2419,2391],{"align":210},[227,2421,2422,2423,2426],{"align":210},"One-time fee charged with the 3DS verification when the card is stored. Defaults to ",[176,2424,2425],{},"2.00"," (an amount is required for 3DS authentication)",[227,2428,513],{"align":210},[205,2430,2431,2433,2435,2438,2441],{},[227,2432,417],{"align":210},[227,2434,2404],{"align":210},[227,2436,2437],{"align":210},"String(35)",[227,2439,2440],{"align":210},"Your reference for the verification \u002F fee charge; appears on statements and reporting",[227,2442,426],{"align":210},[205,2444,2445,2447,2449,2451,2457],{},[227,2446,1317],{"align":210},[227,2448,2404],{"align":210},[227,2450,2375],{"align":210},[227,2452,2453,2454,2456],{"align":210},"Placement of the newly stored card in the customer's cascade order (",[176,2455,294],{}," only)",[227,2458,2459],{"align":210},"See advanced example",[205,2461,2462,2465,2467,2470,2484],{},[227,2463,2464],{"align":210},"card.is_default",[227,2466,2404],{"align":210},[227,2468,2469],{"align":210},"Boolean",[227,2471,2472,2473,2476,2477,2480,2481,2483],{"align":210},"Make the new card the customer's default. Defaults to ",[176,2474,2475],{},"true"," for the customer's first card, ",[176,2478,2479],{},"false"," otherwise. When ",[176,2482,2475],{},", the existing default is demoted",[227,2485,2479],{"align":210},[205,2487,2488,2491,2493,2496,2505],{},[227,2489,2490],{"align":210},"card.priority",[227,2492,2404],{"align":210},[227,2494,2495],{"align":210},"Integer",[227,2497,2498,2499,2501,2502,2504],{"align":210},"Explicit fallback position among non-default cards; ignored when ",[176,2500,1330],{}," is ",[176,2503,2475],{},". Defaults to the end of the cascade order",[227,2506,2507],{"align":210},"2",[205,2509,2510,2512,2514,2517,2527],{},[227,2511,373],{"align":210},[227,2513,2404],{"align":210},[227,2515,2516],{"align":210},"Array",[227,2518,2519,2520,2522,2523],{"align":210},"Invoice line items from your catalog when generating an invoice for the fee charge; overrides the default single line from ",[176,2521,307],{}," — see ",[237,2524,2526],{"href":2525},"\u002Freference\u002Fproducts","products",[227,2528,2529],{"align":210},"See one-time fee example",[205,2531,2532,2537,2539,2541,2544],{},[227,2533,373,2534,2536],{"align":210},[264,2535],{},".product_id",[227,2538,2310],{"align":210},[227,2540,2391],{"align":210},[227,2542,2543],{"align":210},"Catalog product for this line",[227,2545,573],{"align":210},[205,2547,2548,2553,2555,2557,2564],{},[227,2549,373,2550,2552],{"align":210},[264,2551],{},".qty",[227,2554,2404],{"align":210},[227,2556,2495],{"align":210},[227,2558,2559,2560,2563],{"align":210},"Quantity for this line item (default ",[176,2561,2562],{},"1",")",[227,2565,2562],{"align":210},[205,2567,2568,2573,2575,2578,2581],{},[227,2569,373,2570,2572],{"align":210},[264,2571],{},".price_excl",[227,2574,2404],{"align":210},[227,2576,2577],{"align":210},"Number",[227,2579,2580],{"align":210},"Override the default product amount (excluding tax)",[227,2582,2583],{"align":210},"300.23",[205,2585,2586,2589,2591,2593,2596],{},[227,2587,2588],{"align":210},"invoice.is_generate",[227,2590,2404],{"align":210},[227,2592,2469],{"align":210},[227,2594,2595],{"align":210},"Whether to generate an invoice for the fee charge",[227,2597,2475],{"align":210},[205,2599,2600,2603,2605,2607,2610],{},[227,2601,2602],{"align":210},"invoice.is_send",[227,2604,2404],{"align":210},[227,2606,2469],{"align":210},[227,2608,2609],{"align":210},"Whether to send the paid invoice to the customer",[227,2611,2475],{"align":210},[205,2613,2614,2616,2618,2620,2627],{},[227,2615,949],{"align":210},[227,2617,2314],{"align":210},[227,2619,2375],{"align":210},[227,2621,2622,2623,2501,2625],{"align":210},"Payer permissions when ",[176,2624,281],{},[176,2626,897],{},[227,2628,2629],{"align":210},"See manage example",[205,2631,2632,2635,2637,2639,2647],{},[227,2633,2634],{"align":210},"manage.is_allow_add",[227,2636,2404],{"align":210},[227,2638,2469],{"align":210},[227,2640,2641,2642,2644,2645],{"align":210},"Payer can add a new card; runs the ",[176,2643,182],{}," \u002F fee 3DS flow. Default ",[176,2646,2475],{},[227,2648,2475],{"align":210},[205,2650,2651,2654,2656,2658,2663],{},[227,2652,2653],{"align":210},"manage.is_allow_remove",[227,2655,2404],{"align":210},[227,2657,2469],{"align":210},[227,2659,2660,2661],{"align":210},"Payer can remove stored cards; removing the default promotes the next card by priority. Default ",[176,2662,2475],{},[227,2664,2475],{"align":210},[205,2666,2667,2670,2672,2674,2679],{},[227,2668,2669],{"align":210},"manage.is_allow_set_default",[227,2671,2404],{"align":210},[227,2673,2469],{"align":210},[227,2675,2676,2677],{"align":210},"Payer can choose their default card and reorder fallbacks. Default ",[176,2678,2475],{},[227,2680,2475],{"align":210},[205,2682,2683,2686,2688,2690,2693],{},[227,2684,2685],{"align":210},"manage.max_cards",[227,2687,2404],{"align":210},[227,2689,2495],{"align":210},[227,2691,2692],{"align":210},"Cap on stored cards for this customer; the link shows an error state when the customer is at the limit. Omit for no limit",[227,2694,2695],{"align":210},"3",[205,2697,2698,2701,2703,2705,2710],{},[227,2699,2700],{"align":210},"manage.is_duplicate_check",[227,2702,2404],{"align":210},[227,2704,2469],{"align":210},[227,2706,2707,2708],{"align":210},"Rejects storing a card whose PAN fingerprint already exists on this customer, preventing the same card occupying two cascade slots. Default ",[176,2709,2475],{},[227,2711,2475],{"align":210},[205,2713,2714,2716,2718,2720,2723],{},[227,2715,1210],{"align":210},[227,2717,2404],{"align":210},[227,2719,2391],{"align":210},[227,2721,2722],{"align":210},"Optional passphrase signature for verifying the payload",[227,2724,1219],{"align":210},[205,2726,2727,2730,2732,2734,2737],{},[227,2728,2729],{"align":210},"notification.email",[227,2731,2404],{"align":210},[227,2733,2391],{"align":210},[227,2735,2736],{"align":210},"Email address to notify when a card is stored",[227,2738,2739],{"align":210},[237,2740,756],{"href":2741},"mailto:me@my-email.co.za",[205,2743,2744,2747,2749,2751,2754],{},[227,2745,2746],{"align":210},"notification.webhook_url",[227,2748,2404],{"align":210},[227,2750,2391],{"align":210},[227,2752,2753],{"align":210},"Webhook URL for card vault events",[227,2755,2756],{"align":210},[237,2757,780],{"href":780,"rel":2758},[2759],"nofollow",[205,2761,2762,2765,2767,2769,2776],{},[227,2763,2764],{"align":210},"redirects.success_url",[227,2766,2404],{"align":210},[227,2768,2391],{"align":210},[227,2770,2771,2772,2775],{"align":210},"Redirect after the card is stored or changes are saved; ",[176,2773,2774],{},"&signature="," appended if configured",[227,2777,2778],{"align":210},[237,2779,826],{"href":826,"rel":2780},[2759],[205,2782,2783,2786,2788,2790,2793],{},[227,2784,2785],{"align":210},"redirects.cancel_url",[227,2787,2404],{"align":210},[227,2789,2391],{"align":210},[227,2791,2792],{"align":210},"Redirect if the payer cancels",[227,2794,2795],{"align":210},[237,2796,850],{"href":850,"rel":2797},[2759],[205,2799,2800,2803,2805,2807,2810],{},[227,2801,2802],{"align":210},"settings.expiry_time",[227,2804,2404],{"align":210},[227,2806,2495],{"align":210},[227,2808,2809],{"align":210},"Link lifetime in minutes; omit so the link does not expire (default)",[227,2811,2812],{"align":210},"1440",[205,2814,2815,2818,2820,2822,2825],{},[227,2816,2817],{"align":210},"customization.button_text",[227,2819,2404],{"align":210},[227,2821,2391],{"align":210},[227,2823,2824],{"align":210},"Primary action button label",[227,2826,1540],{"align":210},[205,2828,2829,2832,2834,2836,2839],{},[227,2830,2831],{"align":210},"customization.confirmation_message",[227,2833,2404],{"align":210},[227,2835,2391],{"align":210},[227,2837,2838],{"align":210},"Message after successful storage; otherwise use redirects",[227,2840,1598],{"align":210},[205,2842,2843,2846,2848,2850,2862],{},[227,2844,2845],{"align":210},"customization.type",[227,2847,2404],{"align":210},[227,2849,2353],{"align":210},[227,2851,2852,2853,2855,2856,2858,2859,2861],{"align":210},"Create a link for a ",[176,2854,1562],{}," or pass through ",[176,2857,1840],{}," for iframe or in-app card storage. The ",[176,2860,1840],{}," type pages will not redirect you but transmit a message via the window postMessage() method",[227,2863,2864],{"align":210},[176,2865,1562],{},[205,2867,2868,2871,2873,2875,2895],{},[227,2869,2870],{"align":210},"customization.embed_channel",[227,2872,2404],{"align":210},[227,2874,2353],{"align":210},[227,2876,2877,2878,2880,2881,2884,2885,2887,2888,2890,2891,2501,2893],{"align":210},"Where an ",[176,2879,1840],{}," card storage page is hosted: ",[176,2882,2883],{},"WEB"," (iframe on the web) or ",[176,2886,1863],{}," (WebView in a native app). Default ",[176,2889,1863],{},". Only applies when ",[176,2892,2845],{},[176,2894,1840],{},[227,2896,2897],{"align":210},[176,2898,1863],{},[205,2900,2901,2904,2906,2908,2911],{},[227,2902,2903],{"align":210},"customization.is_display_cancel_button",[227,2905,2404],{"align":210},[227,2907,2469],{"align":210},[227,2909,2910],{"align":210},"Show cancel control",[227,2912,2475],{"align":210},[205,2914,2915,2918,2920,2922,2925],{},[227,2916,2917],{"align":210},"customization.brand.primary",[227,2919,2404],{"align":210},[227,2921,2391],{"align":210},[227,2923,2924],{"align":210},"Primary hex colour",[227,2926,1635],{"align":210},[205,2928,2929,2932,2934,2936,2939],{},[227,2930,2931],{"align":210},"customization.brand.secondary",[227,2933,2404],{"align":210},[227,2935,2391],{"align":210},[227,2937,2938],{"align":210},"Secondary hex colour",[227,2940,1656],{"align":210},[205,2942,2943,2945,2947,2949,2952],{},[227,2944,1681],{"align":210},[227,2946,2404],{"align":210},[227,2948,2375],{"align":210},[227,2950,2951],{"align":210},"Custom key\u002Fvalue metadata returned on the stored card and webhooks",[227,2953,2954],{"align":210},[176,2955,2956],{},"{\"order_id\": \"ord_98765\"}",[185,2958,2960],{"id":2959},"response-body","Response Body",[255,2962,2964],{"className":257,"code":2963,"language":259,"meta":260,"style":260},"{\n    \"status\": true,\n    \"result\": {\n      \"id\": \"vlt_HVpCeoNys1f22X7QcuWHY\",\n      \"session_id\": \"ses_G-xkVKoxHgEBrY8suKgR3\",\n      \"customer_id\": \"cus_abc123...\",\n      \"type\": \"STORE_CARD\",\n      \"amount\": \"50.00\",\n      \"currency\": \"ZAR\",\n      \"transaction_reference\": \"INV-2026-00042\",\n      \"link_url\": \"https:\u002F\u002Fpay.kwik.co.za\u002Fcard-vault\u002Fcs_test_a1b2c3\",\n      \"expires_at\": \"2026-07-06T12:30:00Z\"\n    }\n}\n",[176,2965,2966,2970,2982,2995,3015,3035,3053,3071,3089,3109,3127,3147,3165,3169],{"__ignoreMap":260},[264,2967,2968],{"class":266,"line":267},[264,2969,271],{"class":270},[264,2971,2972,2974,2976,2978,2980],{"class":266,"line":274},[264,2973,320],{"class":270},[264,2975,2123],{"class":280},[264,2977,284],{"class":270},[264,2979,287],{"class":270},[264,2981,697],{"class":270},[264,2983,2984,2986,2989,2991,2993],{"class":266,"line":302},[264,2985,320],{"class":270},[264,2987,2988],{"class":280},"result",[264,2990,284],{"class":270},[264,2992,287],{"class":270},[264,2994,314],{"class":270},[264,2996,2997,2999,3002,3004,3006,3008,3011,3013],{"class":266,"line":317},[264,2998,561],{"class":270},[264,3000,3001],{"class":323},"id",[264,3003,284],{"class":270},[264,3005,287],{"class":270},[264,3007,290],{"class":270},[264,3009,3010],{"class":293},"vlt_HVpCeoNys1f22X7QcuWHY",[264,3012,284],{"class":270},[264,3014,299],{"class":270},[264,3016,3017,3019,3022,3024,3026,3028,3031,3033],{"class":266,"line":342},[264,3018,561],{"class":270},[264,3020,3021],{"class":323},"session_id",[264,3023,284],{"class":270},[264,3025,287],{"class":270},[264,3027,290],{"class":270},[264,3029,3030],{"class":293},"ses_G-xkVKoxHgEBrY8suKgR3",[264,3032,284],{"class":270},[264,3034,299],{"class":270},[264,3036,3037,3039,3041,3043,3045,3047,3049,3051],{"class":266,"line":348},[264,3038,561],{"class":270},[264,3040,229],{"class":323},[264,3042,284],{"class":270},[264,3044,287],{"class":270},[264,3046,290],{"class":270},[264,3048,243],{"class":293},[264,3050,284],{"class":270},[264,3052,299],{"class":270},[264,3054,3055,3057,3059,3061,3063,3065,3067,3069],{"class":266,"line":453},[264,3056,561],{"class":270},[264,3058,281],{"class":323},[264,3060,284],{"class":270},[264,3062,287],{"class":270},[264,3064,290],{"class":270},[264,3066,294],{"class":293},[264,3068,284],{"class":270},[264,3070,299],{"class":270},[264,3072,3073,3075,3077,3079,3081,3083,3085,3087],{"class":266,"line":475},[264,3074,561],{"class":270},[264,3076,504],{"class":323},[264,3078,284],{"class":270},[264,3080,287],{"class":270},[264,3082,290],{"class":270},[264,3084,513],{"class":293},[264,3086,284],{"class":270},[264,3088,299],{"class":270},[264,3090,3091,3093,3096,3098,3100,3102,3105,3107],{"class":266,"line":499},[264,3092,561],{"class":270},[264,3094,3095],{"class":323},"currency",[264,3097,284],{"class":270},[264,3099,287],{"class":270},[264,3101,290],{"class":270},[264,3103,3104],{"class":293},"ZAR",[264,3106,284],{"class":270},[264,3108,299],{"class":270},[264,3110,3111,3113,3115,3117,3119,3121,3123,3125],{"class":266,"line":521},[264,3112,561],{"class":270},[264,3114,417],{"class":323},[264,3116,284],{"class":270},[264,3118,287],{"class":270},[264,3120,290],{"class":270},[264,3122,426],{"class":293},[264,3124,284],{"class":270},[264,3126,299],{"class":270},[264,3128,3129,3131,3134,3136,3138,3140,3143,3145],{"class":266,"line":527},[264,3130,561],{"class":270},[264,3132,3133],{"class":323},"link_url",[264,3135,284],{"class":270},[264,3137,287],{"class":270},[264,3139,290],{"class":270},[264,3141,3142],{"class":293},"https:\u002F\u002Fpay.kwik.co.za\u002Fcard-vault\u002Fcs_test_a1b2c3",[264,3144,284],{"class":270},[264,3146,299],{"class":270},[264,3148,3149,3151,3154,3156,3158,3160,3163],{"class":266,"line":532},[264,3150,561],{"class":270},[264,3152,3153],{"class":323},"expires_at",[264,3155,284],{"class":270},[264,3157,287],{"class":270},[264,3159,290],{"class":270},[264,3161,3162],{"class":293},"2026-07-06T12:30:00Z",[264,3164,853],{"class":270},[264,3166,3167],{"class":266,"line":538},[264,3168,651],{"class":270},[264,3170,3171],{"class":266,"line":552},[264,3172,351],{"class":270},[185,3174,3176],{"id":3175},"response-parameters","Response Parameters",[199,3178,3179,3195],{},[202,3180,3181],{},[205,3182,3183,3187,3189,3193],{},[208,3184,3185],{"align":210},[2327,3186,2330],{"style":2329},[208,3188,214],{"align":210},[208,3190,3191],{"align":210},[2327,3192,217],{"style":2340},[208,3194,220],{"align":210},[222,3196,3197,3208,3220,3232,3244,3258,3270,3291,3307,3322],{},[205,3198,3199,3201,3203,3206],{},[227,3200,2123],{"align":210},[227,3202,2469],{"align":210},[227,3204,3205],{"align":210},"Whether the request succeeded",[227,3207,2475],{"align":210},[205,3209,3210,3213,3215,3218],{},[227,3211,3212],{"align":210},"result.id",[227,3214,232],{"align":210},[227,3216,3217],{"align":210},"Unique card vault link identifier",[227,3219,3010],{"align":210},[205,3221,3222,3225,3227,3230],{},[227,3223,3224],{"align":210},"result.session_id",[227,3226,232],{"align":210},[227,3228,3229],{"align":210},"Session identifier for the vault link",[227,3231,3030],{"align":210},[205,3233,3234,3237,3239,3242],{},[227,3235,3236],{"align":210},"result.customer_id",[227,3238,232],{"align":210},[227,3240,3241],{"align":210},"Associated customer ID",[227,3243,243],{"align":210},[205,3245,3246,3249,3251,3254],{},[227,3247,3248],{"align":210},"result.type",[227,3250,2353],{"align":210},[227,3252,3253],{"align":210},"Vault mode for this link",[227,3255,3256],{"align":210},[176,3257,294],{},[205,3259,3260,3263,3265,3268],{},[227,3261,3262],{"align":210},"result.amount",[227,3264,2391],{"align":210},[227,3266,3267],{"align":210},"Amount charged when the card is stored",[227,3269,2425],{"align":210},[205,3271,3272,3275,3278,3287],{},[227,3273,3274],{"align":210},"result.currency",[227,3276,3277],{"align":210},"String(3)",[227,3279,3280,3286],{"align":210},[237,3281,3285],{"href":3282,"rel":3283,":target":3284},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FISO_4217",[2759],"_blank","ISO 4217"," currency code",[227,3288,3289],{"align":210},[176,3290,3104],{},[205,3292,3293,3296,3298,3305],{},[227,3294,3295],{"align":210},"result.transaction_reference",[227,3297,2437],{"align":210},[227,3299,3300,3301,3304],{"align":210},"Your reference for the verification \u002F fee charge; ",[176,3302,3303],{},"null"," when not supplied",[227,3306,426],{"align":210},[205,3308,3309,3312,3314,3317],{},[227,3310,3311],{"align":210},"result.link_url",[227,3313,2391],{"align":210},[227,3315,3316],{"align":210},"URL to redirect the payer to store or manage cards",[227,3318,3319],{"align":210},[237,3320,3142],{"href":3142,"rel":3321},[2759],[205,3323,3324,3327,3329,3335],{},[227,3325,3326],{"align":210},"result.expires_at",[227,3328,2391],{"align":210},[227,3330,3331,3332,3334],{"align":210},"ISO timestamp when the vault link expires; ",[176,3333,3303],{}," when the link does not expire",[227,3336,3162],{"align":210},[164,3338,3340],{"id":3339},"signature-creation","Signature creation",[169,3342,3343,3344,3346,3347,3351],{},"When creating API keys on the dashboard you can download a passphrase key, use it to generate your signature and send it in the ",[176,3345,1210],{}," parameter. The canonicalization and HMAC-SHA256 process is identical across all endpoints — see ",[237,3348,3350],{"href":3349},"\u002Fv2\u002Fmoney-in\u002Fcheckout-link#signature-creation","Checkout Link — Signature creation"," for Node.js, PHP, C#, Java, and Python examples.",[164,3353,3355],{"id":3354},"webhook","Webhook",[169,3357,3358,3359,3361],{},"When a card is stored, fails verification, is removed, or the customer's card order changes, a webhook may be delivered to ",[176,3360,2746],{}," when that field was supplied on create. Broader platform webhooks are configured separately if applicable.",[169,3363,3364,3365,3367,3368,3370,3371,3370,3373,3376,3377,873],{},"Possible ",[176,3366,2025],{}," values include ",[176,3369,1973],{},", ",[176,3372,1968],{},[176,3374,3375],{},"card.removed",", and others listed under ",[237,3378,3380],{"href":3379},"#webhook-events","Webhook events",[185,3382,3384],{"id":3383},"webhook-payload","Webhook Payload",[255,3386,3388],{"className":257,"code":3387,"language":259,"meta":260,"style":260},"{\n  \u002F\u002F card.stored · card.failed · card.removed · card.default_changed · card.reordered · card.link_expired\n  \"event\": \"card.stored\",\n  \"data\": [\n    {\n      \"card\": {\n        \"id\": \"crd_SFq2E9LskQimPkf2mRqnV\",\n        \"customer_id\": \"cus_abc123...\",\n        \"session_id\": \"ses_G-xkVKoxHgEBrY8suKgR3\",\n        \"brand\": \"VISA\",\n        \"last_four\": \"4242\",\n        \"expiry_month\": \"09\",\n        \"expiry_year\": \"2029\",\n        \"holder\": \"J DOE\",\n        \"card_status\": \"ACTIVE\",\n        \"is_default\": false,\n        \"priority\": 2,\n        \"amount\": \"2.00\",\n        \"transaction_reference\": \"INV-2026-00042\",\n        \"transaction_id\": \"tra_pr6CvR_4pvWwmgQ4y3dtY\", \u002F\u002F 3DS verification \u002F transaction (the card's CIT anchor for card-on-file charges)\n        \"metadata\": {\n          \"order_id\": \"ord_98765\"\n        },\n        \"created_at\": \"2026-07-06T10:15:30Z\"\n      }\n    }\n  ],\n  \"created_at\": \"2026-07-06T10:15:30Z\"\n}\n",[176,3389,3390,3394,3399,3417,3430,3434,3446,3466,3484,3502,3521,3541,3561,3581,3601,3620,3633,3647,3665,3683,3706,3718,3736,3741,3759,3764,3768,3772,3788],{"__ignoreMap":260},[264,3391,3392],{"class":266,"line":267},[264,3393,271],{"class":270},[264,3395,3396],{"class":266,"line":274},[264,3397,3398],{"class":338},"  \u002F\u002F card.stored · card.failed · card.removed · card.default_changed · card.reordered · card.link_expired\n",[264,3400,3401,3403,3405,3407,3409,3411,3413,3415],{"class":266,"line":302},[264,3402,277],{"class":270},[264,3404,2025],{"class":280},[264,3406,284],{"class":270},[264,3408,287],{"class":270},[264,3410,290],{"class":270},[264,3412,1973],{"class":293},[264,3414,284],{"class":270},[264,3416,299],{"class":270},[264,3418,3419,3421,3424,3426,3428],{"class":266,"line":317},[264,3420,277],{"class":270},[264,3422,3423],{"class":280},"data",[264,3425,284],{"class":270},[264,3427,287],{"class":270},[264,3429,549],{"class":270},[264,3431,3432],{"class":266,"line":342},[264,3433,555],{"class":270},[264,3435,3436,3438,3440,3442,3444],{"class":266,"line":348},[264,3437,561],{"class":270},[264,3439,1317],{"class":323},[264,3441,284],{"class":270},[264,3443,287],{"class":270},[264,3445,314],{"class":270},[264,3447,3448,3451,3453,3455,3457,3459,3462,3464],{"class":266,"line":453},[264,3449,3450],{"class":270},"        \"",[264,3452,3001],{"class":592},[264,3454,284],{"class":270},[264,3456,287],{"class":270},[264,3458,290],{"class":270},[264,3460,3461],{"class":293},"crd_SFq2E9LskQimPkf2mRqnV",[264,3463,284],{"class":270},[264,3465,299],{"class":270},[264,3467,3468,3470,3472,3474,3476,3478,3480,3482],{"class":266,"line":475},[264,3469,3450],{"class":270},[264,3471,229],{"class":592},[264,3473,284],{"class":270},[264,3475,287],{"class":270},[264,3477,290],{"class":270},[264,3479,243],{"class":293},[264,3481,284],{"class":270},[264,3483,299],{"class":270},[264,3485,3486,3488,3490,3492,3494,3496,3498,3500],{"class":266,"line":499},[264,3487,3450],{"class":270},[264,3489,3021],{"class":592},[264,3491,284],{"class":270},[264,3493,287],{"class":270},[264,3495,290],{"class":270},[264,3497,3030],{"class":293},[264,3499,284],{"class":270},[264,3501,299],{"class":270},[264,3503,3504,3506,3508,3510,3512,3514,3517,3519],{"class":266,"line":521},[264,3505,3450],{"class":270},[264,3507,1612],{"class":592},[264,3509,284],{"class":270},[264,3511,287],{"class":270},[264,3513,290],{"class":270},[264,3515,3516],{"class":293},"VISA",[264,3518,284],{"class":270},[264,3520,299],{"class":270},[264,3522,3523,3525,3528,3530,3532,3534,3537,3539],{"class":266,"line":527},[264,3524,3450],{"class":270},[264,3526,3527],{"class":592},"last_four",[264,3529,284],{"class":270},[264,3531,287],{"class":270},[264,3533,290],{"class":270},[264,3535,3536],{"class":293},"4242",[264,3538,284],{"class":270},[264,3540,299],{"class":270},[264,3542,3543,3545,3548,3550,3552,3554,3557,3559],{"class":266,"line":532},[264,3544,3450],{"class":270},[264,3546,3547],{"class":592},"expiry_month",[264,3549,284],{"class":270},[264,3551,287],{"class":270},[264,3553,290],{"class":270},[264,3555,3556],{"class":293},"09",[264,3558,284],{"class":270},[264,3560,299],{"class":270},[264,3562,3563,3565,3568,3570,3572,3574,3577,3579],{"class":266,"line":538},[264,3564,3450],{"class":270},[264,3566,3567],{"class":592},"expiry_year",[264,3569,284],{"class":270},[264,3571,287],{"class":270},[264,3573,290],{"class":270},[264,3575,3576],{"class":293},"2029",[264,3578,284],{"class":270},[264,3580,299],{"class":270},[264,3582,3583,3585,3588,3590,3592,3594,3597,3599],{"class":266,"line":552},[264,3584,3450],{"class":270},[264,3586,3587],{"class":592},"holder",[264,3589,284],{"class":270},[264,3591,287],{"class":270},[264,3593,290],{"class":270},[264,3595,3596],{"class":293},"J DOE",[264,3598,284],{"class":270},[264,3600,299],{"class":270},[264,3602,3603,3605,3608,3610,3612,3614,3616,3618],{"class":266,"line":558},[264,3604,3450],{"class":270},[264,3606,3607],{"class":592},"card_status",[264,3609,284],{"class":270},[264,3611,287],{"class":270},[264,3613,290],{"class":270},[264,3615,2132],{"class":293},[264,3617,284],{"class":270},[264,3619,299],{"class":270},[264,3621,3622,3624,3626,3628,3630],{"class":266,"line":580},[264,3623,3450],{"class":270},[264,3625,1330],{"class":592},[264,3627,284],{"class":270},[264,3629,287],{"class":270},[264,3631,3632],{"class":270}," false,\n",[264,3634,3635,3637,3639,3641,3643,3645],{"class":266,"line":599},[264,3636,3450],{"class":270},[264,3638,1347],{"class":592},[264,3640,284],{"class":270},[264,3642,287],{"class":270},[264,3644,1354],{"class":592},[264,3646,299],{"class":270},[264,3648,3649,3651,3653,3655,3657,3659,3661,3663],{"class":266,"line":605},[264,3650,3450],{"class":270},[264,3652,504],{"class":592},[264,3654,284],{"class":270},[264,3656,287],{"class":270},[264,3658,290],{"class":270},[264,3660,2425],{"class":293},[264,3662,284],{"class":270},[264,3664,299],{"class":270},[264,3666,3667,3669,3671,3673,3675,3677,3679,3681],{"class":266,"line":610},[264,3668,3450],{"class":270},[264,3670,417],{"class":592},[264,3672,284],{"class":270},[264,3674,287],{"class":270},[264,3676,290],{"class":270},[264,3678,426],{"class":293},[264,3680,284],{"class":270},[264,3682,299],{"class":270},[264,3684,3685,3687,3690,3692,3694,3696,3699,3701,3703],{"class":266,"line":630},[264,3686,3450],{"class":270},[264,3688,3689],{"class":592},"transaction_id",[264,3691,284],{"class":270},[264,3693,287],{"class":270},[264,3695,290],{"class":270},[264,3697,3698],{"class":293},"tra_pr6CvR_4pvWwmgQ4y3dtY",[264,3700,284],{"class":270},[264,3702,431],{"class":270},[264,3704,3705],{"class":338}," \u002F\u002F 3DS verification \u002F transaction (the card's CIT anchor for card-on-file charges)\n",[264,3707,3708,3710,3712,3714,3716],{"class":266,"line":648},[264,3709,3450],{"class":270},[264,3711,1681],{"class":592},[264,3713,284],{"class":270},[264,3715,287],{"class":270},[264,3717,314],{"class":270},[264,3719,3720,3723,3726,3728,3730,3732,3734],{"class":266,"line":654},[264,3721,3722],{"class":270},"          \"",[264,3724,1695],{"class":3725},"swJcz",[264,3727,284],{"class":270},[264,3729,287],{"class":270},[264,3731,290],{"class":270},[264,3733,1704],{"class":293},[264,3735,853],{"class":270},[264,3737,3738],{"class":266,"line":660},[264,3739,3740],{"class":270},"        },\n",[264,3742,3743,3745,3748,3750,3752,3754,3757],{"class":266,"line":665},[264,3744,3450],{"class":270},[264,3746,3747],{"class":592},"created_at",[264,3749,284],{"class":270},[264,3751,287],{"class":270},[264,3753,290],{"class":270},[264,3755,3756],{"class":293},"2026-07-06T10:15:30Z",[264,3758,853],{"class":270},[264,3760,3761],{"class":266,"line":671},[264,3762,3763],{"class":270},"      }\n",[264,3765,3766],{"class":266,"line":685},[264,3767,651],{"class":270},[264,3769,3770],{"class":266,"line":700},[264,3771,657],{"class":270},[264,3773,3774,3776,3778,3780,3782,3784,3786],{"class":266,"line":718},[264,3775,277],{"class":270},[264,3777,3747],{"class":280},[264,3779,284],{"class":270},[264,3781,287],{"class":270},[264,3783,290],{"class":270},[264,3785,3756],{"class":293},[264,3787,853],{"class":270},[264,3789,3790],{"class":266,"line":723},[264,3791,351],{"class":270},[185,3793,3795],{"id":3794},"webhook-payload-parameters","Webhook Payload Parameters",[199,3797,3798,3815],{},[202,3799,3800],{},[205,3801,3802,3807,3809,3813],{},[208,3803,3804],{"align":210},[2327,3805,2330],{"style":3806},"width:120px",[208,3808,214],{"align":210},[208,3810,3811],{"align":210},[2327,3812,217],{"style":2340},[208,3814,220],{"align":210},[222,3816,3817,3828,3842,3856,3869,3883,3903,3918,3933,3947,3961,3979,3993,4007,4021,4036,4050,4066,4080],{},[205,3818,3819,3821,3823,3826],{},[227,3820,2025],{"align":210},[227,3822,2391],{"align":210},[227,3824,3825],{"align":210},"Type of webhook event that occurred",[227,3827,1973],{"align":210},[205,3829,3830,3832,3834,3837],{},[227,3831,3423],{"align":210},[227,3833,2516],{"align":210},[227,3835,3836],{"align":210},"Array containing card data",[227,3838,3839],{"align":210},[264,3840,3841],{},"...",[205,3843,3844,3849,3851,3854],{},[227,3845,3423,3846,3848],{"align":210},[264,3847],{},".card.id",[227,3850,232],{"align":210},[227,3852,3853],{"align":210},"Unique card identifier",[227,3855,3461],{"align":210},[205,3857,3858,3863,3865,3867],{},[227,3859,3423,3860,3862],{"align":210},[264,3861],{},".card.customer_id",[227,3864,232],{"align":210},[227,3866,3241],{"align":210},[227,3868,243],{"align":210},[205,3870,3871,3876,3878,3881],{},[227,3872,3423,3873,3875],{"align":210},[264,3874],{},".card.session_id",[227,3877,232],{"align":210},[227,3879,3880],{"align":210},"Vault link session that produced this event",[227,3882,3030],{"align":210},[205,3884,3885,3890,3892,3899],{},[227,3886,3423,3887,3889],{"align":210},[264,3888],{},".card.brand",[227,3891,2353],{"align":210},[227,3893,3894,3895],{"align":210},"Card brand, see ",[237,3896,3898],{"href":3897},"\u002Freference\u002Flookups","lookups",[227,3900,3901],{"align":210},[176,3902,3516],{},[205,3904,3905,3910,3913,3916],{},[227,3906,3423,3907,3909],{"align":210},[264,3908],{},".card.last_four",[227,3911,3912],{"align":210},"String(4)",[227,3914,3915],{"align":210},"Last four digits of the card number",[227,3917,3536],{"align":210},[205,3919,3920,3925,3928,3931],{},[227,3921,3423,3922,3924],{"align":210},[264,3923],{},".card.expiry_month",[227,3926,3927],{"align":210},"String(2)",[227,3929,3930],{"align":210},"Card expiry month",[227,3932,3556],{"align":210},[205,3934,3935,3940,3942,3945],{},[227,3936,3423,3937,3939],{"align":210},[264,3938],{},".card.expiry_year",[227,3941,3912],{"align":210},[227,3943,3944],{"align":210},"Card expiry year",[227,3946,3576],{"align":210},[205,3948,3949,3954,3956,3959],{},[227,3950,3423,3951,3953],{"align":210},[264,3952],{},".card.holder",[227,3955,2391],{"align":210},[227,3957,3958],{"align":210},"Cardholder name",[227,3960,3596],{"align":210},[205,3962,3963,3968,3970,3975],{},[227,3964,3423,3965,3967],{"align":210},[264,3966],{},".card.card_status",[227,3969,2353],{"align":210},[227,3971,3972,3973],{"align":210},"Card status, see ",[237,3974,3898],{"href":3897},[227,3976,3977],{"align":210},[176,3978,2132],{},[205,3980,3981,3986,3988,3991],{},[227,3982,3423,3983,3985],{"align":210},[264,3984],{},".card.is_default",[227,3987,2469],{"align":210},[227,3989,3990],{"align":210},"Whether this card is the customer's default",[227,3992,2479],{"align":210},[205,3994,3995,4000,4002,4005],{},[227,3996,3423,3997,3999],{"align":210},[264,3998],{},".card.priority",[227,4001,2495],{"align":210},[227,4003,4004],{"align":210},"Resolved position in the customer's cascade order",[227,4006,2507],{"align":210},[205,4008,4009,4014,4016,4019],{},[227,4010,3423,4011,4013],{"align":210},[264,4012],{},".card.amount",[227,4015,2391],{"align":210},[227,4017,4018],{"align":210},"Amount charged when the card was stored",[227,4020,2425],{"align":210},[205,4022,4023,4028,4030,4034],{},[227,4024,3423,4025,4027],{"align":210},[264,4026],{},".card.transaction_reference",[227,4029,2437],{"align":210},[227,4031,3300,4032,3304],{"align":210},[176,4033,3303],{},[227,4035,426],{"align":210},[205,4037,4038,4043,4045,4048],{},[227,4039,3423,4040,4042],{"align":210},[264,4041],{},".card.transaction_id",[227,4044,2391],{"align":210},[227,4046,4047],{"align":210},"Transaction identifier of the 3DS verification \u002F amount charge",[227,4049,3698],{"align":210},[205,4051,4052,4057,4059,4062],{},[227,4053,3423,4054,4056],{"align":210},[264,4055],{},".card.metadata",[227,4058,2375],{"align":210},[227,4060,4061],{"align":210},"Custom key\u002Fvalue metadata supplied on create",[227,4063,4064],{"align":210},[176,4065,2956],{},[205,4067,4068,4073,4075,4078],{},[227,4069,3423,4070,4072],{"align":210},[264,4071],{},".card.created_at",[227,4074,2391],{"align":210},[227,4076,4077],{"align":210},"ISO timestamp when the card was stored",[227,4079,3756],{"align":210},[205,4081,4082,4084,4086,4089],{},[227,4083,3747],{"align":210},[227,4085,2391],{"align":210},[227,4087,4088],{"align":210},"ISO timestamp when webhook was created",[227,4090,3756],{"align":210},[185,4092,4094],{"id":4093},"webhook-events","Webhook Events",[199,4096,4097,4112],{},[202,4098,4099],{},[205,4100,4101,4104,4106,4109],{},[208,4102,4103],{"align":210},"Event",[208,4105,217],{"align":210},[208,4107,4108],{"align":210},"Trigger Condition",[208,4110,4111],{"align":210},"Data Included",[222,4113,4114,4129,4144,4166,4185,4201],{},[205,4115,4116,4120,4123,4126],{},[227,4117,4118],{"align":210},[176,4119,1973],{},[227,4121,4122],{"align":210},"A card was successfully verified and stored in the vault",[227,4124,4125],{"align":210},"When 3DS authentication and the verification \u002F fee charge succeed",[227,4127,4128],{"align":210},"Card details, fee amount, fee transaction",[205,4130,4131,4135,4138,4141],{},[227,4132,4133],{"align":210},[176,4134,1968],{},[227,4136,4137],{"align":210},"Card storage failed",[227,4139,4140],{"align":210},"When 3DS authentication fails or the verification \u002F fee charge is declined",[227,4142,4143],{"align":210},"Card attempt details, error information",[205,4145,4146,4150,4153,4159],{},[227,4147,4148],{"align":210},[176,4149,3375],{},[227,4151,4152],{"align":210},"A card was removed from the vault",[227,4154,4155,4156,4158],{"align":210},"When the payer removes a card on a ",[176,4157,897],{}," link, or via the API",[227,4160,4161,4162,4165],{"align":210},"Removed card details; ",[176,4163,4164],{},"promoted_card_id"," when the default changed as a result",[205,4167,4168,4173,4176,4179],{},[227,4169,4170],{"align":210},[176,4171,4172],{},"card.default_changed",[227,4174,4175],{"align":210},"The customer's default card changed",[227,4177,4178],{"align":210},"When the payer or merchant sets a new default card",[227,4180,4181,4184],{"align":210},[176,4182,4183],{},"previous_card_id"," and new default card details",[205,4186,4187,4192,4195,4198],{},[227,4188,4189],{"align":210},[176,4190,4191],{},"card.reordered",[227,4193,4194],{"align":210},"The customer's cascade order changed",[227,4196,4197],{"align":210},"When the payer or merchant reorders fallback cards",[227,4199,4200],{"align":210},"Full resolved cascade order",[205,4202,4203,4208,4211,4217],{},[227,4204,4205],{"align":210},[176,4206,4207],{},"card.link_expired",[227,4209,4210],{"align":210},"The vault link expired without completion",[227,4212,4213,4214,4216],{"align":210},"When the link reaches ",[176,4215,2802],{}," without a card being stored",[227,4218,4219],{"align":210},"Link details only, no card data",[185,4221,4223],{"id":4222},"webhook-security","Webhook Security",[169,4225,4226],{},"All webhooks are sent with the following headers for verification:",[1951,4228,4229,4235,4241],{},[1954,4230,4231,4234],{},[176,4232,4233],{},"X-Signature",": HMAC-SHA256 signature of the payload",[1954,4236,4237,4240],{},[176,4238,4239],{},"X-Timestamp",": Unix timestamp of when the webhook was sent",[1954,4242,4243,4246,4247],{},[176,4244,4245],{},"User-Agent",": ",[176,4248,4249],{},"Kwik-Webhooks\u002F1.0",[185,4251,4253],{"id":4252},"webhook-response","Webhook Response",[169,4255,4256,4257,4260],{},"Your endpoint should respond with a ",[176,4258,4259],{},"200"," status code to acknowledge receipt. Failed webhooks will be retried up to 3 times with exponential backoff.",[4262,4263,4264],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":260,"searchDepth":267,"depth":274,"links":4266},[4267,4278,4279],{"id":166,"depth":274,"text":167,"children":4268},[4269,4270,4271,4272,4273,4274,4275,4276,4277],{"id":187,"depth":302,"text":188},{"id":246,"depth":302,"text":247},{"id":354,"depth":302,"text":355},{"id":866,"depth":302,"text":867},{"id":1144,"depth":302,"text":1145},{"id":1722,"depth":302,"text":1723},{"id":2298,"depth":302,"text":2299},{"id":2959,"depth":302,"text":2960},{"id":3175,"depth":302,"text":3176},{"id":3339,"depth":274,"text":3340},{"id":3354,"depth":274,"text":3355,"children":4280},[4281,4282,4283,4284,4285],{"id":3383,"depth":302,"text":3384},{"id":3794,"depth":302,"text":3795},{"id":4093,"depth":302,"text":4094},{"id":4222,"depth":302,"text":4223},{"id":4252,"depth":302,"text":4253},"Create a secure, customizable link session for a customer to store or manage cards in the card vault. Cards are tokenized and verified with 3D Secure authentication, with an optional one-time fee, support for default and fallback card ordering, and webhook notifications.","md",null,{},{"title":95,"description":4286},"4vv80GJk-7oA_DmyahjERr3w_wXIft6tCj7b4-xq8m0",[4293,4295],{"title":91,"path":92,"stem":93,"description":4294,"children":-1},"Create a secure, customizable checkout form session to capture payments with cards, bank transfers, and other payment methods. Supports 3D Secure authentication, cards storage for recurring billing, invoice issuance, customer creation, and webhook notifications.",{"title":99,"path":100,"stem":101,"description":4296,"children":-1},"Charge a customer's stored cards server-to-server. Attempts the default card first with automatic cascade to fallback cards, or targets a specific card. Supports merchant-initiated (MIT) scheme compliance, invoice issuance, and webhook notifications.",1784209876299]