[{"data":1,"prerenderedAt":1873},["ShallowReactive",2],{"navigation":3,"external-navigation":214,"external_core:\u002Fcore\u002Fprocessors\u002Fogloba":443},[4,8,201],{"title":5,"path":6,"stem":7},"Documentation","\u002F","README",{"title":9,"path":10,"stem":11,"children":12},"EOS","\u002Feos","eos\u002FREADME",[13,44,121,181],{"title":14,"collapsed":15,"path":16,"stem":17,"children":18,"page":43},"Adrs",true,"\u002Feos\u002Fadrs","eos\u002Fadrs",[19,23,27,31,35,39],{"title":20,"path":21,"stem":22},"Use Turborepo for the EOS monorepo","\u002Feos\u002Fadrs\u002F0001-use-turborepo-for-eos","eos\u002Fadrs\u002F0001-use-turborepo-for-eos",{"title":24,"path":25,"stem":26},"Use Oxc for linting and formatting","\u002Feos\u002Fadrs\u002F0003-use-oxc-for-linting-and-formatting","eos\u002Fadrs\u002F0003-use-oxc-for-linting-and-formatting",{"title":28,"path":29,"stem":30},"Lint Markdown and validate links in CI","\u002Feos\u002Fadrs\u002F0004-lint-markdown-in-ci","eos\u002Fadrs\u002F0004-lint-markdown-in-ci",{"title":32,"path":33,"stem":34},"Use Lefthook for repository-managed Git hooks","\u002Feos\u002Fadrs\u002F0005-use-lefthook-for-repository-git-hooks","eos\u002Fadrs\u002F0005-use-lefthook-for-repository-git-hooks",{"title":36,"path":37,"stem":38},"Use Commitlint's conventional configuration","\u002Feos\u002Fadrs\u002F0006-use-commitlint-conventional-configuration","eos\u002Fadrs\u002F0006-use-commitlint-conventional-configuration",{"title":40,"path":41,"stem":42},"Use Nx for EOS task execution","\u002Feos\u002Fadrs\u002F0007-use-nx-for-eos","eos\u002Fadrs\u002F0007-use-nx-for-eos",false,{"title":45,"path":46,"stem":47,"children":48},"Harbourmaster","\u002Feos\u002Fharbourmaster","eos\u002Fharbourmaster\u002FREADME",[49,58,71,96],{"title":50,"path":51,"stem":52,"children":53,"page":43},"Decisions","\u002Feos\u002Fharbourmaster\u002Fdecisions","eos\u002Fharbourmaster\u002Fdecisions",[54],{"title":55,"path":56,"stem":57},"AI-50: GitHub auth and fork pull request policy","\u002Feos\u002Fharbourmaster\u002Fdecisions\u002Fai-50-auth-and-fork-policy","eos\u002Fharbourmaster\u002Fdecisions\u002Fai-50-auth-and-fork-policy",{"title":59,"path":60,"stem":61,"children":62,"page":43},"Explanation","\u002Feos\u002Fharbourmaster\u002Fexplanation","eos\u002Fharbourmaster\u002Fexplanation",[63,67],{"title":64,"path":65,"stem":66},"The Harbourmaster review pipeline","\u002Feos\u002Fharbourmaster\u002Fexplanation\u002Freview-pipeline","eos\u002Fharbourmaster\u002Fexplanation\u002Freview-pipeline",{"title":68,"path":69,"stem":70},"The Harbourmaster shared-action trust boundary","\u002Feos\u002Fharbourmaster\u002Fexplanation\u002Fshared-action-trust-boundary","eos\u002Fharbourmaster\u002Fexplanation\u002Fshared-action-trust-boundary",{"title":72,"path":73,"stem":74,"children":75,"page":43},"How To","\u002Feos\u002Fharbourmaster\u002Fhow-to","eos\u002Fharbourmaster\u002Fhow-to",[76,80,84,88,92],{"title":77,"path":78,"stem":79},"How to add Harbourmaster reviews to a repository","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Fadd-harbourmaster-to-a-repository","eos\u002Fharbourmaster\u002Fhow-to\u002Fadd-harbourmaster-to-a-repository",{"title":81,"path":82,"stem":83},"How to build a pilot dashboard","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Fbuild-pilot-dashboard","eos\u002Fharbourmaster\u002Fhow-to\u002Fbuild-pilot-dashboard",{"title":85,"path":86,"stem":87},"How to configure model routing","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Fconfigure-model-routing","eos\u002Fharbourmaster\u002Fhow-to\u002Fconfigure-model-routing",{"title":89,"path":90,"stem":91},"How to request a Harbourmaster review","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Frequest-a-review","eos\u002Fharbourmaster\u002Fhow-to\u002Frequest-a-review",{"title":93,"path":94,"stem":95},"How to diagnose a Harbourmaster review failure","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Ftroubleshoot-a-review","eos\u002Fharbourmaster\u002Fhow-to\u002Ftroubleshoot-a-review",{"title":97,"path":98,"stem":99,"children":100,"page":43},"Reference","\u002Feos\u002Fharbourmaster\u002Freference","eos\u002Fharbourmaster\u002Freference",[101,105,109,113,117],{"title":102,"path":103,"stem":104},"Harbourmaster command-line interface","\u002Feos\u002Fharbourmaster\u002Freference\u002Fcli","eos\u002Fharbourmaster\u002Freference\u002Fcli",{"title":106,"path":107,"stem":108},"Harbourmaster configuration","\u002Feos\u002Fharbourmaster\u002Freference\u002Fconfiguration","eos\u002Fharbourmaster\u002Freference\u002Fconfiguration",{"title":110,"path":111,"stem":112},"Harbourmaster GitHub Action","\u002Feos\u002Fharbourmaster\u002Freference\u002Fgithub-action","eos\u002Fharbourmaster\u002Freference\u002Fgithub-action",{"title":114,"path":115,"stem":116},"Harbourmaster review behavior","\u002Feos\u002Fharbourmaster\u002Freference\u002Freview-behavior","eos\u002Fharbourmaster\u002Freference\u002Freview-behavior",{"title":118,"path":119,"stem":120},"Harbourmaster telemetry","\u002Feos\u002Fharbourmaster\u002Freference\u002Ftelemetry","eos\u002Fharbourmaster\u002Freference\u002Ftelemetry",{"title":72,"path":122,"stem":123,"children":124,"page":43},"\u002Feos\u002Fhow-to","eos\u002Fhow-to",[125,129,133,137,141,145,149,153,157,161,165,169,173,177],{"title":126,"path":127,"stem":128},"How to add an external documentation source","\u002Feos\u002Fhow-to\u002Fadd-external-documentation-source","eos\u002Fhow-to\u002Fadd-external-documentation-source",{"title":130,"path":131,"stem":132},"How to connect SDLC integrations","\u002Feos\u002Fhow-to\u002Fconnect-sdlc-integrations","eos\u002Fhow-to\u002Fconnect-sdlc-integrations",{"title":134,"path":135,"stem":136},"How to consume the EOS plugin marketplace","\u002Feos\u002Fhow-to\u002Fconsume-eos-marketplace","eos\u002Fhow-to\u002Fconsume-eos-marketplace",{"title":138,"path":139,"stem":140},"How to create a spike ticket","\u002Feos\u002Fhow-to\u002Fcreate-spike-ticket","eos\u002Fhow-to\u002Fcreate-spike-ticket",{"title":142,"path":143,"stem":144},"How to finalise a repository change","\u002Feos\u002Fhow-to\u002Ffinalise-change","eos\u002Fhow-to\u002Ffinalise-change",{"title":146,"path":147,"stem":148},"How to install the EOS Docs MCP server","\u002Feos\u002Fhow-to\u002Finstall-eos-docs-mcp","eos\u002Fhow-to\u002Finstall-eos-docs-mcp",{"title":150,"path":151,"stem":152},"How to resolve a spike ticket","\u002Feos\u002Fhow-to\u002Fresolve-spike-ticket","eos\u002Fhow-to\u002Fresolve-spike-ticket",{"title":154,"path":155,"stem":156},"How to run Git hook checks","\u002Feos\u002Fhow-to\u002Frun-git-hook-checks","eos\u002Fhow-to\u002Frun-git-hook-checks",{"title":158,"path":159,"stem":160},"How to use the AI-enabled SDLC","\u002Feos\u002Fhow-to\u002Fuse-ai-enabled-sdlc","eos\u002Fhow-to\u002Fuse-ai-enabled-sdlc",{"title":162,"path":163,"stem":164},"Use the Aikido plugin","\u002Feos\u002Fhow-to\u002Fuse-aikido-plugin","eos\u002Fhow-to\u002Fuse-aikido-plugin",{"title":166,"path":167,"stem":168},"How to use Compass","\u002Feos\u002Fhow-to\u002Fuse-compass","eos\u002Fhow-to\u002Fuse-compass",{"title":170,"path":171,"stem":172},"How to use Fallow","\u002Feos\u002Fhow-to\u002Fuse-fallow","eos\u002Fhow-to\u002Fuse-fallow",{"title":174,"path":175,"stem":176},"How to use incremental mutation tests","\u002Feos\u002Fhow-to\u002Fuse-incremental-mutation-tests","eos\u002Fhow-to\u002Fuse-incremental-mutation-tests",{"title":178,"path":179,"stem":180},"How to use Scout","\u002Feos\u002Fhow-to\u002Fuse-scout","eos\u002Fhow-to\u002Fuse-scout",{"title":97,"path":182,"stem":183,"children":184,"page":43},"\u002Feos\u002Freference","eos\u002Freference",[185,189,193,197],{"title":186,"path":187,"stem":188},"Compass CLI","\u002Feos\u002Freference\u002Fcompass-cli","eos\u002Freference\u002Fcompass-cli",{"title":190,"path":191,"stem":192},"EOS marketplace skills","\u002Feos\u002Freference\u002Fmarketplace-skills","eos\u002Freference\u002Fmarketplace-skills",{"title":194,"path":195,"stem":196},"Nx task execution and cache","\u002Feos\u002Freference\u002Fnx-task-execution","eos\u002Freference\u002Fnx-task-execution",{"title":198,"path":199,"stem":200},"Scout CLI","\u002Feos\u002Freference\u002Fscout-cli","eos\u002Freference\u002Fscout-cli",{"title":202,"path":203,"stem":204,"children":205},"Product engineering","\u002Fproduct-engineering","product-engineering\u002FREADME",[206],{"title":14,"collapsed":15,"path":207,"stem":208,"children":209,"page":43},"\u002Fproduct-engineering\u002Fadrs","product-engineering\u002Fadrs",[210],{"title":211,"path":212,"stem":213},"Codify Engineering Standards as Skills","\u002Fproduct-engineering\u002Fadrs\u002F0002-codify-engineering-standards-as-skills","product-engineering\u002Fadrs\u002F0002-codify-engineering-standards-as-skills",[215,268],{"nav":216,"source":265},[217],{"title":218,"path":219,"stem":220,"children":221},"Ember","\u002Fember","ember",[222,225,257,261],{"title":223,"path":219,"stem":224},"StoreFront Documentation","ember\u002Findex",{"title":14,"path":226,"stem":227,"children":228,"page":43},"\u002Fember\u002Fadrs","ember\u002Fadrs",[229,233,237,241,245,249,253],{"title":230,"path":231,"stem":232},"Add Infection as a non-blocking mutation testing tool for Ember","\u002Fember\u002Fadrs\u002F0001-infection-mutation-testing","ember\u002Fadrs\u002F0001-infection-mutation-testing",{"title":234,"path":235,"stem":236},"Process DELETE scheduled changes before CREATE_UPDATE at the same instant","\u002Fember\u002Fadrs\u002F0002-scheduled-change-processing-order","ember\u002Fadrs\u002F0002-scheduled-change-processing-order",{"title":238,"path":239,"stem":240},"Standard rate scheduling is permanent until overridden","\u002Fember\u002Fadrs\u002F0003-standard-rate-scheduling-is-permanent","ember\u002Fadrs\u002F0003-standard-rate-scheduling-is-permanent",{"title":242,"path":243,"stem":244},"Promotions require an existing standard rate","\u002Fember\u002Fadrs\u002F0004-promotions-require-existing-standard-rate","ember\u002Fadrs\u002F0004-promotions-require-existing-standard-rate",{"title":246,"path":247,"stem":248},"UTC datetime contract between Storefront and Hub","\u002Fember\u002Fadrs\u002F0005-utc-datetime-contract-between-storefront-and-hub","ember\u002Fadrs\u002F0005-utc-datetime-contract-between-storefront-and-hub",{"title":250,"path":251,"stem":252},"Elapsed unprocessed scheduled changes do not block rate changes","\u002Fember\u002Fadrs\u002F0006-stale-scheduler-rows-do-not-block-rate-changes","ember\u002Fadrs\u002F0006-stale-scheduler-rows-do-not-block-rate-changes",{"title":254,"path":255,"stem":256},"ADR-0007: Delete ConfigureTenantAuth routing command once OIDC setup migrates to Hub","\u002Fember\u002Fadrs\u002F0007-delete-configure-tenant-auth-routing-command","ember\u002Fadrs\u002F0007-delete-configure-tenant-auth-routing-command",{"title":258,"path":259,"stem":260},"Domain Overview","\u002Fember\u002Fdomain_overview","ember\u002Fdomain_overview",{"title":262,"path":263,"stem":264},"Main Flows","\u002Fember\u002Fkey_flows","ember\u002Fkey_flows",{"collectionName":266,"label":267,"prefix":220},"external_ember","StoreFront (Ember)",{"nav":269,"source":441},[270],{"title":271,"path":272,"stem":273,"children":274},"Core","\u002Fcore","core",[275,278,306,310,332,336,346,363,420,424],{"title":276,"path":272,"stem":277},"Documentation Index","core\u002Findex",{"title":14,"path":279,"stem":280,"children":281,"page":43},"\u002Fcore\u002Fadrs","core\u002Fadrs",[282,286,290,294,298,302],{"title":283,"path":284,"stem":285},"ADR-XXXX: Short, descriptive title","\u002Fcore\u002Fadrs\u002F0000-template","core\u002Fadrs\u002F0000-template",{"title":287,"path":288,"stem":289},"ADR-1: Promotions endpoint","\u002Fcore\u002Fadrs\u002F0001-add-promotions-endpoint","core\u002Fadrs\u002F0001-add-promotions-endpoint",{"title":291,"path":292,"stem":293},"ADR-2: EOM partner report job dispatch","\u002Fcore\u002Fadrs\u002F0002-eom-report-job-dispatch","core\u002Fadrs\u002F0002-eom-report-job-dispatch",{"title":295,"path":296,"stem":297},"ADR-3: Replace PB fee waive flag with a Zero scheme override","\u002Fcore\u002Fadrs\u002F0003-replace-pb-fee-waive-with-zero-scheme","core\u002Fadrs\u002F0003-replace-pb-fee-waive-with-zero-scheme",{"title":299,"path":300,"stem":301},"ADR-4: No processor Digital Top-up capability gate in Reloadable Commercials","\u002Fcore\u002Fadrs\u002F0004-no-processor-top-up-capability-gate","core\u002Fadrs\u002F0004-no-processor-top-up-capability-gate",{"title":303,"path":304,"stem":305},"ADR-5: Sparse polymorphic sale fee override reason stamp","\u002Fcore\u002Fadrs\u002F0005-sale-fee-override-reason-stamp","core\u002Fadrs\u002F0005-sale-fee-override-reason-stamp",{"title":307,"path":308,"stem":309},"Agent Workflow","\u002Fcore\u002Fai-workflow","core\u002Fai-workflow",{"title":311,"path":312,"stem":313,"children":314},"Backend Guide","\u002Fcore\u002Fbackend","core\u002Fbackend\u002Findex",[315,316,320,324,328],{"title":311,"path":312,"stem":313},{"title":317,"path":318,"stem":319},"Backend AI Tooling","\u002Fcore\u002Fbackend\u002Fai-tooling","core\u002Fbackend\u002Fai-tooling",{"title":321,"path":322,"stem":323},"Backend Linting and Formatting","\u002Fcore\u002Fbackend\u002Flinting-and-formatting","core\u002Fbackend\u002Flinting-and-formatting",{"title":325,"path":326,"stem":327},"Backend Setup","\u002Fcore\u002Fbackend\u002Fsetup","core\u002Fbackend\u002Fsetup",{"title":329,"path":330,"stem":331},"Backend Testing","\u002Fcore\u002Fbackend\u002Ftesting","core\u002Fbackend\u002Ftesting",{"title":333,"path":334,"stem":335},"Documentation Health","\u002Fcore\u002Fdoc-health","core\u002Fdoc-health",{"title":337,"path":338,"stem":339,"children":340},"Frontend Guide","\u002Fcore\u002Ffrontend","core\u002Ffrontend\u002Findex",[341,342],{"title":337,"path":338,"stem":339},{"title":343,"path":344,"stem":345},"Frontend Development","\u002Fcore\u002Ffrontend\u002Fdevelopment","core\u002Ffrontend\u002Fdevelopment",{"title":347,"path":348,"stem":349,"children":350,"page":43},"Modules","\u002Fcore\u002Fmodules","core\u002Fmodules",[351,355],{"title":352,"path":353,"stem":354},"Connect API","\u002Fcore\u002Fmodules\u002Fconnect-api","core\u002Fmodules\u002Fconnect-api",{"title":356,"path":357,"stem":358,"children":359,"page":43},"Secure Links","\u002Fcore\u002Fmodules\u002Fsecure-links","core\u002Fmodules\u002Fsecure-links",[360],{"title":356,"path":361,"stem":362},"\u002Fcore\u002Fmodules\u002Fsecure-links\u002Fsecure-links","core\u002Fmodules\u002Fsecure-links\u002Fsecure-links",{"title":364,"path":365,"stem":366,"children":367,"page":43},"Processors","\u002Fcore\u002Fprocessors","core\u002Fprocessors",[368,372,376,380,384,388,392,396,400,404,408,412,416],{"title":369,"path":370,"stem":371},"Amazon Processor and API","\u002Fcore\u002Fprocessors\u002Famazon","core\u002Fprocessors\u002Famazon",{"title":373,"path":374,"stem":375},"Amilon Processor and API","\u002Fcore\u002Fprocessors\u002Familon","core\u002Fprocessors\u002Familon",{"title":377,"path":378,"stem":379},"Cadooz Processor and API","\u002Fcore\u002Fprocessors\u002Fcadooz","core\u002Fprocessors\u002Fcadooz",{"title":381,"path":382,"stem":383},"Choice Digital Processor and API","\u002Fcore\u002Fprocessors\u002Fchoice-digital","core\u002Fprocessors\u002Fchoice-digital",{"title":385,"path":386,"stem":387},"Diggecard processor reference","\u002Fcore\u002Fprocessors\u002Fdiggecard","core\u002Fprocessors\u002Fdiggecard",{"title":389,"path":390,"stem":391},"ePay Processor and API","\u002Fcore\u002Fprocessors\u002Fepay","core\u002Fprocessors\u002Fepay",{"title":393,"path":394,"stem":395},"GoGift v2 Processor and API","\u002Fcore\u002Fprocessors\u002Fgo-gift-v2","core\u002Fprocessors\u002Fgo-gift-v2",{"title":397,"path":398,"stem":399},"InComm Processor and API","\u002Fcore\u002Fprocessors\u002Fincomm","core\u002Fprocessors\u002Fincomm",{"title":401,"path":402,"stem":403},"Ogloba Processor and API","\u002Fcore\u002Fprocessors\u002Fogloba","core\u002Fprocessors\u002Fogloba",{"title":405,"path":406,"stem":407},"SVSECard Processor and API","\u002Fcore\u002Fprocessors\u002Fsvs-ecard","core\u002Fprocessors\u002Fsvs-ecard",{"title":409,"path":410,"stem":411},"Vananam Processor and API","\u002Fcore\u002Fprocessors\u002Fvananam","core\u002Fprocessors\u002Fvananam",{"title":413,"path":414,"stem":415},"Vouchers Depot processor reference","\u002Fcore\u002Fprocessors\u002Fvouchers-depot","core\u002Fprocessors\u002Fvouchers-depot",{"title":417,"path":418,"stem":419},"You Got a Gift Processor and API","\u002Fcore\u002Fprocessors\u002Fyou-got-a-gift","core\u002Fprocessors\u002Fyou-got-a-gift",{"title":421,"path":422,"stem":423},"Development Quickstart","\u002Fcore\u002Fsetup","core\u002Fsetup",{"title":425,"path":426,"stem":427,"children":428,"page":43},"Workflows","\u002Fcore\u002Fworkflows","core\u002Fworkflows",[429,433,437],{"title":430,"path":431,"stem":432},"Hub Endpoint Workflow","\u002Fcore\u002Fworkflows\u002Fhub-endpoints","core\u002Fworkflows\u002Fhub-endpoints",{"title":434,"path":435,"stem":436},"OpenAPI Tooling","\u002Fcore\u002Fworkflows\u002Fopenapi-tooling","core\u002Fworkflows\u002Fopenapi-tooling",{"title":438,"path":439,"stem":440},"Processor Integration Workflow","\u002Fcore\u002Fworkflows\u002Fprocessors","core\u002Fworkflows\u002Fprocessors",{"collectionName":442,"label":271,"prefix":273},"external_core",{"page":444,"surround":1870},{"id":445,"title":401,"body":446,"config":1865,"description":452,"extension":1866,"meta":1867,"navigation":15,"path":402,"seo":1868,"stem":403,"__hash__":1869},"external_core\u002Fcore\u002Fprocessors\u002Fogloba.md",{"type":447,"value":448,"toc":1846},"minimark",[449,453,458,461,547,551,601,605,608,613,624,793,796,831,835,852,977,984,1035,1043,1164,1168,1305,1320,1324,1431,1434,1438,1441,1495,1499,1503,1509,1584,1611,1615,1618,1622,1711,1725,1729,1746,1757,1761,1764,1768,1842],[450,451,452],"p",{},"This reference is for operations and customer-service teams. It describes the Ogloba order lifecycle, the provider fields that prove each step, and the evidence to collect before an escalation or retry.",[454,455,457],"h2",{"id":456},"what-ogloba-does","What Ogloba does",[450,459,460],{},"Ogloba is an asynchronous order processor. The application creates and confirms an order, stores the returned order number, and later calls order status until the voucher data is available. The integration does not use a webhook.",[462,463,464,477],"table",{},[465,466,467],"thead",{},[468,469,470,474],"tr",{},[471,472,473],"th",{},"Property",[471,475,476],{},"Behaviour",[478,479,480,489,497,505,513,520,532],"tbody",{},[468,481,482,486],{},[483,484,485],"td",{},"Processor type",[483,487,488],{},"SKU per denomination",[468,490,491,494],{},[483,492,493],{},"Processing",[483,495,496],{},"Asynchronous order creation and confirmation, followed by status retrieval",[468,498,499,502],{},[483,500,501],{},"Delivery",[483,503,504],{},"Digital voucher code and\u002For provider URL",[468,506,507,510],{},[483,508,509],{},"Balance lookup",[483,511,512],{},"Unsupported",[468,514,515,518],{},[483,516,517],{},"Cancellation",[483,519,512],{},[468,521,522,525],{},[483,523,524],{},"Catalogue",[483,526,527,528],{},"Supported through ",[529,530,531],"code",{},"getProducts",[468,533,534,537],{},[483,535,536],{},"Provider success state",[483,538,539,542,543,546],{},[529,540,541],{},"orderStatus"," ",[529,544,545],{},"042"," is treated as ready when the required card fields are present",[454,548,550],{"id":549},"order-lifecycle","Order lifecycle",[552,553,554,558,565,582,595],"ol",{},[555,556,557],"li",{},"The sale supplies the brand, face value, currency, transaction reference, and country.",[555,559,560,561,564],{},"The interaction selects the first country served by the brand and obtains the brand SKU for the requested face value. Fixed-denomination brands use denomination-specific mappings such as ",[529,562,563],{},"ogloba-sku-10.00",".",[555,566,567,570,571,574,575,578,579,564],{},[529,568,569],{},"orderCreation"," sends one item with quantity ",[529,572,573],{},"1"," and delivery type ",[529,576,577],{},"0"," (delivery through the API). The response must contain ",[529,580,581],{},"orderNo",[555,583,584,587,588,591,592,594],{},[529,585,586],{},"orderConfirm"," confirms that order with payment type ",[529,589,590],{},"01"," and a payment ID derived from the order number. Its response must also contain ",[529,593,581],{},"; that value becomes the processor reference.",[555,596,597,598,600],{},"The sale remains asynchronous until retrieval calls ",[529,599,541],{}," with that processor reference. The sale is completed only after the status response passes validation and supplies voucher data.",[454,602,604],{"id":603},"example-api-order-flow","Example API order flow",[450,606,607],{},"The following bodies use illustrative values. Merchant credentials, voucher codes, PINs, and live URLs are intentionally omitted.",[609,610,612],"h3",{"id":611},"create-order","Create order",[450,614,615,616,619,620,623],{},"The client sends ",[529,617,618],{},"POST orderCreation"," with the configured country account values and the transaction reference as ",[529,621,622],{},"clientOrderNo",":",[625,626,631],"pre",{"className":627,"code":628,"language":629,"meta":630,"style":630},"language-json shiki shiki-themes github-dark github-light","{\n  \"merchantId\": \"\u003Cconfigured-merchant>\",\n  \"terminalId\": \"\u003Cconfigured-terminal>\",\n  \"cashierId\": \"\u003Cconfigured-cashier>\",\n  \"clientOrderNo\": \"\u003Ctransaction-reference>\",\n  \"salesType\": \"MA\",\n  \"orderItems\": [\n    {\n      \"faceAmount\": 10.0,\n      \"quantity\": 1,\n      \"deliverType\": \"0\",\n      \"itemCode\": \"\u003Cdenomination-sku>\"\n    }\n  ]\n}\n","json","",[529,632,633,642,659,672,685,698,711,720,726,739,751,764,775,781,787],{"__ignoreMap":630},[634,635,638],"span",{"class":636,"line":637},"line",1,[634,639,641],{"class":640},"sQ3_J","{\n",[634,643,645,649,652,656],{"class":636,"line":644},2,[634,646,648],{"class":647},"s0DvM","  \"merchantId\"",[634,650,651],{"class":640},": ",[634,653,655],{"class":654},"sg6BJ","\"\u003Cconfigured-merchant>\"",[634,657,658],{"class":640},",\n",[634,660,662,665,667,670],{"class":636,"line":661},3,[634,663,664],{"class":647},"  \"terminalId\"",[634,666,651],{"class":640},[634,668,669],{"class":654},"\"\u003Cconfigured-terminal>\"",[634,671,658],{"class":640},[634,673,675,678,680,683],{"class":636,"line":674},4,[634,676,677],{"class":647},"  \"cashierId\"",[634,679,651],{"class":640},[634,681,682],{"class":654},"\"\u003Cconfigured-cashier>\"",[634,684,658],{"class":640},[634,686,688,691,693,696],{"class":636,"line":687},5,[634,689,690],{"class":647},"  \"clientOrderNo\"",[634,692,651],{"class":640},[634,694,695],{"class":654},"\"\u003Ctransaction-reference>\"",[634,697,658],{"class":640},[634,699,701,704,706,709],{"class":636,"line":700},6,[634,702,703],{"class":647},"  \"salesType\"",[634,705,651],{"class":640},[634,707,708],{"class":654},"\"MA\"",[634,710,658],{"class":640},[634,712,714,717],{"class":636,"line":713},7,[634,715,716],{"class":647},"  \"orderItems\"",[634,718,719],{"class":640},": [\n",[634,721,723],{"class":636,"line":722},8,[634,724,725],{"class":640},"    {\n",[634,727,729,732,734,737],{"class":636,"line":728},9,[634,730,731],{"class":647},"      \"faceAmount\"",[634,733,651],{"class":640},[634,735,736],{"class":647},"10.0",[634,738,658],{"class":640},[634,740,742,745,747,749],{"class":636,"line":741},10,[634,743,744],{"class":647},"      \"quantity\"",[634,746,651],{"class":640},[634,748,573],{"class":647},[634,750,658],{"class":640},[634,752,754,757,759,762],{"class":636,"line":753},11,[634,755,756],{"class":647},"      \"deliverType\"",[634,758,651],{"class":640},[634,760,761],{"class":654},"\"0\"",[634,763,658],{"class":640},[634,765,767,770,772],{"class":636,"line":766},12,[634,768,769],{"class":647},"      \"itemCode\"",[634,771,651],{"class":640},[634,773,774],{"class":654},"\"\u003Cdenomination-sku>\"\n",[634,776,778],{"class":636,"line":777},13,[634,779,780],{"class":640},"    }\n",[634,782,784],{"class":636,"line":783},14,[634,785,786],{"class":640},"  ]\n",[634,788,790],{"class":636,"line":789},15,[634,791,792],{"class":640},"}\n",[450,794,795],{},"An acceptable creation response contains an order number:",[625,797,799],{"className":627,"code":798,"language":629,"meta":630,"style":630},"{\n  \"isSuccessful\": true,\n  \"orderNo\": \"\u003Cogloba-order-number>\"\n}\n",[529,800,801,805,817,827],{"__ignoreMap":630},[634,802,803],{"class":636,"line":637},[634,804,641],{"class":640},[634,806,807,810,812,815],{"class":636,"line":644},[634,808,809],{"class":647},"  \"isSuccessful\"",[634,811,651],{"class":640},[634,813,814],{"class":647},"true",[634,816,658],{"class":640},[634,818,819,822,824],{"class":636,"line":661},[634,820,821],{"class":647},"  \"orderNo\"",[634,823,651],{"class":640},[634,825,826],{"class":654},"\"\u003Cogloba-order-number>\"\n",[634,828,829],{"class":636,"line":674},[634,830,792],{"class":640},[609,832,834],{"id":833},"confirm-and-retrieve","Confirm and retrieve",[450,836,837,838,841,842,542,845,847,848,851],{},"The confirmation request uses the creation order number. The client sends ",[529,839,840],{},"POST orderConfirm"," with ",[529,843,844],{},"paymentType",[529,846,590],{},", a payment ID in the form ",[529,849,850],{},"X-\u003Corder-number>",", and zero shipping, card, and return fees:",[625,853,855],{"className":627,"code":854,"language":629,"meta":630,"style":630},"{\n  \"merchantId\": \"\u003Cconfigured-merchant>\",\n  \"terminalId\": \"\u003Cconfigured-terminal>\",\n  \"cashierId\": \"\u003Cconfigured-cashier>\",\n  \"orderNo\": \"\u003Cogloba-order-number>\",\n  \"paymentList\": [\n    { \"paymentType\": \"01\", \"paymentId\": \"X-\u003Cogloba-order-number>\" }\n  ],\n  \"shippingFee\": \"0\",\n  \"cardFee\": \"0\",\n  \"returnFee\": \"0\"\n}\n",[529,856,857,861,871,881,891,902,909,936,941,952,963,973],{"__ignoreMap":630},[634,858,859],{"class":636,"line":637},[634,860,641],{"class":640},[634,862,863,865,867,869],{"class":636,"line":644},[634,864,648],{"class":647},[634,866,651],{"class":640},[634,868,655],{"class":654},[634,870,658],{"class":640},[634,872,873,875,877,879],{"class":636,"line":661},[634,874,664],{"class":647},[634,876,651],{"class":640},[634,878,669],{"class":654},[634,880,658],{"class":640},[634,882,883,885,887,889],{"class":636,"line":674},[634,884,677],{"class":647},[634,886,651],{"class":640},[634,888,682],{"class":654},[634,890,658],{"class":640},[634,892,893,895,897,900],{"class":636,"line":687},[634,894,821],{"class":647},[634,896,651],{"class":640},[634,898,899],{"class":654},"\"\u003Cogloba-order-number>\"",[634,901,658],{"class":640},[634,903,904,907],{"class":636,"line":700},[634,905,906],{"class":647},"  \"paymentList\"",[634,908,719],{"class":640},[634,910,911,914,917,919,922,925,928,930,933],{"class":636,"line":713},[634,912,913],{"class":640},"    { ",[634,915,916],{"class":647},"\"paymentType\"",[634,918,651],{"class":640},[634,920,921],{"class":654},"\"01\"",[634,923,924],{"class":640},", ",[634,926,927],{"class":647},"\"paymentId\"",[634,929,651],{"class":640},[634,931,932],{"class":654},"\"X-\u003Cogloba-order-number>\"",[634,934,935],{"class":640}," }\n",[634,937,938],{"class":636,"line":722},[634,939,940],{"class":640},"  ],\n",[634,942,943,946,948,950],{"class":636,"line":728},[634,944,945],{"class":647},"  \"shippingFee\"",[634,947,651],{"class":640},[634,949,761],{"class":654},[634,951,658],{"class":640},[634,953,954,957,959,961],{"class":636,"line":741},[634,955,956],{"class":647},"  \"cardFee\"",[634,958,651],{"class":640},[634,960,761],{"class":654},[634,962,658],{"class":640},[634,964,965,968,970],{"class":636,"line":753},[634,966,967],{"class":647},"  \"returnFee\"",[634,969,651],{"class":640},[634,971,972],{"class":654},"\"0\"\n",[634,974,975],{"class":636,"line":766},[634,976,792],{"class":640},[450,978,979,980,983],{},"Retrieval sends ",[529,981,982],{},"POST orderStatus"," with the same provider order number:",[625,985,987],{"className":627,"code":986,"language":629,"meta":630,"style":630},"{\n  \"merchantId\": \"\u003Cconfigured-merchant>\",\n  \"terminalId\": \"\u003Cconfigured-terminal>\",\n  \"cashierId\": \"\u003Cconfigured-cashier>\",\n  \"orderNo\": \"\u003Cogloba-order-number>\"\n}\n",[529,988,989,993,1003,1013,1023,1031],{"__ignoreMap":630},[634,990,991],{"class":636,"line":637},[634,992,641],{"class":640},[634,994,995,997,999,1001],{"class":636,"line":644},[634,996,648],{"class":647},[634,998,651],{"class":640},[634,1000,655],{"class":654},[634,1002,658],{"class":640},[634,1004,1005,1007,1009,1011],{"class":636,"line":661},[634,1006,664],{"class":647},[634,1008,651],{"class":640},[634,1010,669],{"class":654},[634,1012,658],{"class":640},[634,1014,1015,1017,1019,1021],{"class":636,"line":674},[634,1016,677],{"class":647},[634,1018,651],{"class":640},[634,1020,682],{"class":654},[634,1022,658],{"class":640},[634,1024,1025,1027,1029],{"class":636,"line":687},[634,1026,821],{"class":647},[634,1028,651],{"class":640},[634,1030,826],{"class":654},[634,1032,1033],{"class":636,"line":700},[634,1034,792],{"class":640},[450,1036,1037,1038,542,1040,1042],{},"For a ready order, the response has one card and ",[529,1039,541],{},[529,1041,545],{},". Sensitive fields are redacted here:",[625,1044,1046],{"className":627,"code":1045,"language":629,"meta":630,"style":630},"{\n  \"isSuccessful\": true,\n  \"orderNo\": \"\u003Cogloba-order-number>\",\n  \"orderStatus\": \"042\",\n  \"listOfCards\": [\n    {\n      \"shortCardNumber\": \"[REDACTED]\",\n      \"pinCode1\": \"[REDACTED]\",\n      \"pinCode2\": null,\n      \"expiryDate\": \"\u003CYYYY-MM-DD>\",\n      \"eGiftCardUrl\": \"[REDACTED OR EMPTY]\"\n    }\n  ]\n}\n",[529,1047,1048,1052,1062,1072,1084,1091,1095,1107,1118,1130,1142,1152,1156,1160],{"__ignoreMap":630},[634,1049,1050],{"class":636,"line":637},[634,1051,641],{"class":640},[634,1053,1054,1056,1058,1060],{"class":636,"line":644},[634,1055,809],{"class":647},[634,1057,651],{"class":640},[634,1059,814],{"class":647},[634,1061,658],{"class":640},[634,1063,1064,1066,1068,1070],{"class":636,"line":661},[634,1065,821],{"class":647},[634,1067,651],{"class":640},[634,1069,899],{"class":654},[634,1071,658],{"class":640},[634,1073,1074,1077,1079,1082],{"class":636,"line":674},[634,1075,1076],{"class":647},"  \"orderStatus\"",[634,1078,651],{"class":640},[634,1080,1081],{"class":654},"\"042\"",[634,1083,658],{"class":640},[634,1085,1086,1089],{"class":636,"line":687},[634,1087,1088],{"class":647},"  \"listOfCards\"",[634,1090,719],{"class":640},[634,1092,1093],{"class":636,"line":700},[634,1094,725],{"class":640},[634,1096,1097,1100,1102,1105],{"class":636,"line":713},[634,1098,1099],{"class":647},"      \"shortCardNumber\"",[634,1101,651],{"class":640},[634,1103,1104],{"class":654},"\"[REDACTED]\"",[634,1106,658],{"class":640},[634,1108,1109,1112,1114,1116],{"class":636,"line":722},[634,1110,1111],{"class":647},"      \"pinCode1\"",[634,1113,651],{"class":640},[634,1115,1104],{"class":654},[634,1117,658],{"class":640},[634,1119,1120,1123,1125,1128],{"class":636,"line":728},[634,1121,1122],{"class":647},"      \"pinCode2\"",[634,1124,651],{"class":640},[634,1126,1127],{"class":647},"null",[634,1129,658],{"class":640},[634,1131,1132,1135,1137,1140],{"class":636,"line":741},[634,1133,1134],{"class":647},"      \"expiryDate\"",[634,1136,651],{"class":640},[634,1138,1139],{"class":654},"\"\u003CYYYY-MM-DD>\"",[634,1141,658],{"class":640},[634,1143,1144,1147,1149],{"class":636,"line":753},[634,1145,1146],{"class":647},"      \"eGiftCardUrl\"",[634,1148,651],{"class":640},[634,1150,1151],{"class":654},"\"[REDACTED OR EMPTY]\"\n",[634,1153,1154],{"class":636,"line":766},[634,1155,780],{"class":640},[634,1157,1158],{"class":636,"line":777},[634,1159,786],{"class":640},[634,1161,1162],{"class":636,"line":783},[634,1163,792],{"class":640},[454,1165,1167],{"id":1166},"response-mapping-and-validation","Response mapping and validation",[462,1169,1170,1180],{},[465,1171,1172],{},[468,1173,1174,1177],{},[471,1175,1176],{},"Provider response",[471,1178,1179],{},"Application result",[478,1181,1182,1195,1212,1223,1240,1254,1269,1285],{},[468,1183,1184,1189],{},[483,1185,1186,1187],{},"Creation response ",[529,1188,581],{},[483,1190,1191,1192,1194],{},"Used to build the confirmation request; missing ",[529,1193,581],{}," raises response validation failure",[468,1196,1197,1202],{},[483,1198,1199,1200],{},"Confirmation response ",[529,1201,581],{},[483,1203,1204,1205,1208,1209,1211],{},"Returned as ",[529,1206,1207],{},"processor_reference","; missing ",[529,1210,581],{}," prevents issuance from completing",[468,1213,1214,1219],{},[483,1215,1216,1217],{},"Status ",[529,1218,581],{},[483,1220,1204,1221],{},[529,1222,1207],{},[468,1224,1225,1230],{},[483,1226,1216,1227],{},[529,1228,1229],{},"listOfCards[0].shortCardNumber",[483,1231,1232,1233,1235,1236,1239],{},"Mapped to ",[529,1234,529],{}," when no ",[529,1237,1238],{},"eGiftCardUrl"," is supplied",[468,1241,1242,1247],{},[483,1243,1216,1244],{},[529,1245,1246],{},"listOfCards[0].pinCode1",[483,1248,1232,1249,1235,1252,1239],{},[529,1250,1251],{},"pin",[529,1253,1238],{},[468,1255,1256,1261],{},[483,1257,1216,1258],{},[529,1259,1260],{},"listOfCards[0].pinCode2",[483,1262,1232,1263,1266,1267],{},[529,1264,1265],{},"security_code","; the field must be present and may be ",[529,1268,1127],{},[468,1270,1271,1276],{},[483,1272,1216,1273],{},[529,1274,1275],{},"listOfCards[0].eGiftCardUrl",[483,1277,1232,1278,1281,1282,1284],{},[529,1279,1280],{},"url","; an empty value becomes ",[529,1283,1127],{},". It can replace the code and PIN requirements",[468,1286,1287,1292],{},[483,1288,1216,1289],{},[529,1290,1291],{},"listOfCards[0].expiryDate",[483,1293,1294,1295,1297,1298,1300,1301,1304],{},"Must be present for status ",[529,1296,545],{},", may be ",[529,1299,1127],{},", and must otherwise use ",[529,1302,1303],{},"Y-m-d","; a supplied date is returned as an ISO-8601 value",[450,1306,1307,1308,924,1310,1313,1314,1316,1317,1319],{},"For status ",[529,1309,545],{},[529,1311,1312],{},"listOfCards"," must be an array containing exactly one card. The status response must contain ",[529,1315,581],{}," and ",[529,1318,541],{},". Fields such as the full card number, face amount, PDF URL, and delivery metadata are not copied into the application voucher response.",[454,1321,1323],{"id":1322},"provider-states-and-retry-behaviour","Provider states and retry behaviour",[462,1325,1326,1339],{},[465,1327,1328],{},[468,1329,1330,1333,1336],{},[471,1331,1332],{},"Condition",[471,1334,1335],{},"Integration behaviour",[471,1337,1338],{},"Operational consequence",[478,1340,1341,1367,1382,1395,1420],{},[468,1342,1343,1354,1364],{},[483,1344,1345,542,1347,1350,1351],{},[529,1346,541],{},[529,1348,1349],{},"041"," or ",[529,1352,1353],{},"043",[483,1355,1356,1357,1360,1361],{},"Raises ",[529,1358,1359],{},"RetryableRequestException"," from ",[529,1362,1363],{},"OrderNotReadyException",[483,1365,1366],{},"The sale is not complete; retry status retrieval rather than creating a new order",[468,1368,1369,1376,1379],{},[483,1370,1371,542,1373,1375],{},[529,1372,541],{},[529,1374,545],{}," with valid card data",[483,1377,1378],{},"Returns the voucher response",[483,1380,1381],{},"The sale can complete",[468,1383,1384,1387,1392],{},[483,1385,1386],{},"Missing required fields or invalid expiry format",[483,1388,1356,1389],{},[529,1390,1391],{},"ResponseValidationException",[483,1393,1394],{},"Correct the provider response or escalate; a blind retry cannot add missing fields",[468,1396,1397,1403,1417],{},[483,1398,1399,1400],{},"Provider response ",[529,1401,1402],{},"isSuccessful: false",[483,1404,1405,1406,1316,1409,1412,1413,1416],{},"The API maps error codes ",[529,1407,1408],{},"88",[529,1410,1411],{},"23010"," to not-found, ",[529,1414,1415],{},"23005"," to malformed request, and other codes to an unexpected server error",[483,1418,1419],{},"Inspect the response and audit before deciding on a retry",[468,1421,1422,1425,1428],{},[483,1423,1424],{},"HTTP client failure",[483,1426,1427],{},"Wrapped by the interaction as an external error",[483,1429,1430],{},"No separate Ogloba HTTP failure is explicitly classified as retryable in this integration",[450,1432,1433],{},"The create and confirm operations are separate provider actions. If the outcome of either action is uncertain, do not start a second sale: use the transaction reference, provider order number, and audit sequence to establish whether the original order exists.",[454,1435,1437],{"id":1436},"audit-comparison-fields","Audit comparison fields",[450,1439,1440],{},"Processor interaction auditing is enabled for the transaction during issue and retrieval. Compare these fields in order:",[552,1442,1443,1451,1461,1470,1478,1481],{},[555,1444,1445,1446,1448,1449,564],{},"Internal sale UUID and transaction reference against ",[529,1447,622],{}," in ",[529,1450,569],{},[555,1452,1453,1454,1457,1458,564],{},"Country code against the selected country account, and face value against ",[529,1455,1456],{},"faceAmount"," and the denomination SKU in ",[529,1459,1460],{},"orderItems",[555,1462,1463,1464,1466,1467,1469],{},"Creation ",[529,1465,581],{}," against confirmation ",[529,1468,581],{}," and the stored processor reference.",[555,1471,1472,1473,1475,1476,564],{},"The retrieval ",[529,1474,581],{}," against that same processor reference and the returned ",[529,1477,541],{},[555,1479,1480],{},"For a ready response, check the presence of card data and the normalized expiry date without copying code, PIN, or a live URL into a ticket.",[555,1482,1483,1484,1487,1488,6,1491,1494],{},"Compare request and response timestamps, operation names, ",[529,1485,1486],{},"isSuccessful",", and any ",[529,1489,1490],{},"errorCode",[529,1492,1493],{},"errorMessage"," values.",[454,1496,1498],{"id":1497},"settings","Settings",[609,1500,1502],{"id":1501},"processor-settings","Processor settings",[450,1504,1505,1508],{},[529,1506,1507],{},"config\u002Fogloba.php"," reads the following environment-backed settings:",[462,1510,1511,1521],{},[465,1512,1513],{},[468,1514,1515,1518],{},[471,1516,1517],{},"Setting",[471,1519,1520],{},"Environment variable or value",[478,1522,1523,1533,1547,1557,1567],{},[468,1524,1525,1528],{},[483,1526,1527],{},"Shared API base URI",[483,1529,1530],{},[529,1531,1532],{},"OGLOBA_BASE_URI",[468,1534,1535,1538],{},[483,1536,1537],{},"Request timeout",[483,1539,1540,1543,1544],{},[529,1541,1542],{},"OGLOBA_TIMEOUT",", default ",[529,1545,1546],{},"20",[468,1548,1549,1552],{},[483,1550,1551],{},"API version header",[483,1553,1554],{},[529,1555,1556],{},"OGLOBA_API_VERSION",[468,1558,1559,1562],{},[483,1560,1561],{},"Shared cashier ID",[483,1563,1564],{},[529,1565,1566],{},"OGLOBA_CASHIER_ID",[468,1568,1569,1572],{},[483,1570,1571],{},"Country accounts",[483,1573,1574,924,1577,1580,1581],{},[529,1575,1576],{},"OGLOBA_\u003CCOUNTRY>_MERCHANT_ID",[529,1578,1579],{},"OGLOBA_\u003CCOUNTRY>_PASSPHRASE",", and ",[529,1582,1583],{},"OGLOBA_\u003CCOUNTRY>_TERMINAL_ID",[450,1585,1586,1587,924,1590,924,1593,924,1596,924,1599,924,1602,924,1605,1580,1608,564],{},"The configured country account is used for HTTP basic authentication with the merchant ID and passphrase. The supported country keys in the configuration are ",[529,1588,1589],{},"AT",[529,1591,1592],{},"BE",[529,1594,1595],{},"DE",[529,1597,1598],{},"ES",[529,1600,1601],{},"FR",[529,1603,1604],{},"IT",[529,1606,1607],{},"NL",[529,1609,1610],{},"PT",[609,1612,1614],{"id":1613},"brand-settings","Brand settings",[450,1616,1617],{},"The brand must have an Ogloba SKU for each requested denomination. The fixed processor type was changed to SKU per denomination in the onboarding migration, so a valid mapping for one face value does not prove that another face value is configured. The first country served by the brand selects the Ogloba country account; check that this country is intentional before changing credentials or mappings.",[454,1619,1621],{"id":1620},"api-operations","API operations",[462,1623,1624,1640],{},[465,1625,1626],{},[468,1627,1628,1631,1634,1637],{},[471,1629,1630],{},"Client operation",[471,1632,1633],{},"Provider operation",[471,1635,1636],{},"Method",[471,1638,1639],{},"Purpose",[478,1641,1642,1660,1677,1694],{},[468,1643,1644,1648,1652,1657],{},[483,1645,1646],{},[529,1647,569],{},[483,1649,1650],{},[529,1651,569],{},[483,1653,1654],{},[529,1655,1656],{},"POST",[483,1658,1659],{},"Create one order item",[468,1661,1662,1666,1670,1674],{},[483,1663,1664],{},[529,1665,586],{},[483,1667,1668],{},[529,1669,586],{},[483,1671,1672],{},[529,1673,1656],{},[483,1675,1676],{},"Confirm the created order",[468,1678,1679,1683,1687,1691],{},[483,1680,1681],{},[529,1682,541],{},[483,1684,1685],{},[529,1686,541],{},[483,1688,1689],{},[529,1690,1656],{},[483,1692,1693],{},"Check pending or ready fulfilment",[468,1695,1696,1700,1704,1708],{},[483,1697,1698],{},[529,1699,531],{},[483,1701,1702],{},[529,1703,531],{},[483,1705,1706],{},[529,1707,1656],{},[483,1709,1710],{},"Retrieve catalogue products using merchant and terminal values",[450,1712,1713,1714,1316,1717,1720,1721,1724],{},"The API client sends JSON with ",[529,1715,1716],{},"Accept",[529,1718,1719],{},"Content-Type"," headers and the configured ",[529,1722,1723],{},"X-WSRG-API-Version"," header. The base URI and country-specific authentication are selected at runtime.",[454,1726,1728],{"id":1727},"customer-service-investigation","Customer-service investigation",[450,1730,1731,1732,924,1734,1580,1736,1738,1739,924,1741,1743,1744,564],{},"For a delayed or failed sale, collect the internal sale UUID, transaction reference, requested country, currency and face value, denomination SKU, processor reference, and the complete ordered audit sequence for ",[529,1733,569],{},[529,1735,586],{},[529,1737,541],{},". Check that the creation and confirmation order numbers match, then check the latest status and whether it is ",[529,1740,1349],{},[529,1742,1353],{},", or ",[529,1745,545],{},[450,1747,1748,1749,1751,1752,924,1754,1756],{},"Do not re-order while the original provider order or an uncertain create\u002Fconfirm result is unresolved. If the status response is ",[529,1750,545],{},", check the validation fields and the presence of voucher data without placing the sensitive values in a support ticket. For a provider error, record the provider operation, ",[529,1753,1490],{},[529,1755,1493],{},", HTTP failure details, and timestamps.",[454,1758,1760],{"id":1759},"limitations","Limitations",[450,1762,1763],{},"Balance lookup, cancellation, and webhook handling are not implemented for Ogloba. Escalations should include the internal sale UUID, transaction reference, provider order number, country, operation timestamps, response state, and redacted audit evidence.",[454,1765,1767],{"id":1766},"related-code","Related code",[1769,1770,1771,1777,1783,1789,1795,1801,1807,1813,1818,1824,1830,1836],"ul",{},[555,1772,1773,1776],{},[529,1774,1775],{},"app\u002FProcessors\u002FOgloba\u002FOglobaProcessor.php"," — asynchronous processor wrapper.",[555,1778,1779,1782],{},[529,1780,1781],{},"app\u002FProcessors\u002FInteraction\u002FIntegrations\u002FOgloba\u002FOglobaProcessorInteraction.php"," — issue, retrieval, parsing, validation, and pending-state handling.",[555,1784,1785,1788],{},[529,1786,1787],{},"app\u002FHttp\u002FClients\u002FOgloba\u002FOglobaApi.php"," — authentication, transport, provider operations, and error-code mapping.",[555,1790,1791,1794],{},[529,1792,1793],{},"app\u002FHttp\u002FClients\u002FOgloba\u002FRequests\u002FOrderCreationRequestData.php"," — create payload.",[555,1796,1797,1800],{},[529,1798,1799],{},"app\u002FHttp\u002FClients\u002FOgloba\u002FRequests\u002FOrderConfirmRequestData.php"," — confirmation payload.",[555,1802,1803,1806],{},[529,1804,1805],{},"app\u002FHttp\u002FClients\u002FOgloba\u002FRequests\u002FOrderStatusRequestData.php"," — status payload.",[555,1808,1809,1812],{},[529,1810,1811],{},"app\u002FHttp\u002FClients\u002FOgloba\u002FRequests\u002FProductsRequestData.php"," — catalogue payload.",[555,1814,1815,1817],{},[529,1816,1507],{}," — shared and country-specific settings.",[555,1819,1820,1823],{},[529,1821,1822],{},"database\u002Fmigrations\u002F2025_03_31_00000_r_c_c_15879_create_ogloba_processor.php"," — processor capabilities and contacts.",[555,1825,1826,1829],{},[529,1827,1828],{},"database\u002Fmigrations\u002F2025_04_24_110610_rcc-15956-add-ogloba-catalogue.php"," — catalogue enablement.",[555,1831,1832,1835],{},[529,1833,1834],{},"database\u002Fmigrations\u002F2025_07_21_091748_ogloba_change_fixed_processor_to_sku_per_denom.php"," — denomination SKU processor type.",[555,1837,1838,1841],{},[529,1839,1840],{},"tests\u002FUnit\u002FProcessors\u002FInteraction\u002FIntegrations\u002FOgloba\u002FOglobaProcessorInteractionTest.php"," — issue, retrieval, validation, and pending-state scenarios.",[1843,1844,1845],"style",{},"html pre.shiki code .sQ3_J, html code.shiki .sQ3_J{--shiki-dark:#E1E4E8;--shiki-default:#24292E}html pre.shiki code .s0DvM, html code.shiki .s0DvM{--shiki-dark:#79B8FF;--shiki-default:#005CC5}html pre.shiki code .sg6BJ, html code.shiki .sg6BJ{--shiki-dark:#9ECBFF;--shiki-default:#032F62}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 .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);}",{"title":630,"searchDepth":661,"depth":661,"links":1847},[1848,1849,1850,1854,1855,1856,1857,1861,1862,1863,1864],{"id":456,"depth":644,"text":457},{"id":549,"depth":644,"text":550},{"id":603,"depth":644,"text":604,"children":1851},[1852,1853],{"id":611,"depth":661,"text":612},{"id":833,"depth":661,"text":834},{"id":1166,"depth":644,"text":1167},{"id":1322,"depth":644,"text":1323},{"id":1436,"depth":644,"text":1437},{"id":1497,"depth":644,"text":1498,"children":1858},[1859,1860],{"id":1501,"depth":661,"text":1502},{"id":1613,"depth":661,"text":1614},{"id":1620,"depth":644,"text":1621},{"id":1727,"depth":644,"text":1728},{"id":1759,"depth":644,"text":1760},{"id":1766,"depth":644,"text":1767},{},"md",{},{"title":401,"description":452},"d_E46RT4A18Wmjm5zoxtjhxg-M3GgT8MNA0PwVKkqYo",[1871,1872],{"title":397,"path":398,"stem":399,"children":-1},{"title":405,"path":406,"stem":407,"children":-1},1789777549111]