# ============================================================================= # COMPETENCY RECORD - Cedric Ancellin's demonstrated engineering skills and # experience. Third-party technologies and vendors are named as the concrete # skill surface. Professional background / track record. # ============================================================================= # ============================================================ # PAYMENTS ENGINEERING - COMPETENCY RECORD # ============================================================ # Core Purpose: # Demonstrated experience building multi-processor checkout and # payments: 13+ payment integrations (cards, crypto, wallets, # gift cards, room charge, house credit), a pluggable gateway # abstraction, in-person terminal payments, a structured refund # engine, dispute/chargeback management, a fee engine, and # reconciliation hooks. # ============================================================ summary: > Designed and built the platform's checkout and payments engines across 13+ payment integrations, card processors, cryptocurrency, alternative/wallet methods, gift cards, room-charge/folio posting, and house credit, behind a pluggable gateway abstraction, plus in-person hardware-terminal payments, a structured breakdown- reversing refund engine, dispute/chargeback management, a 30+ formula fee engine, and multi-source reconciliation. # ================================================================== # 1. CHECKOUT STATE MACHINE # ================================================================== checkout: description: > Engineered checkout as an explicit state machine spanning cart, hold, payment intent, gateway response, and booking confirmation. states: "Cart → Hold → Payment Intent → Payment Response → Booking Confirmation." data_model: - "Cart header + line items + a financial-tracking action record." - "Payment intent + payment items + an append-only payment log." - "Gateway response + confirmation records linking payment to the fulfilled booking/order." dual_engines: - "A modern modular engine (clean cart / pay-intent / pay-response / pay-confirm / pay-log model, partner-commission and multi-order support)." - "A legacy integrated engine retained for complex flows (terminal capture, preauth, external-inventory validation)." # ================================================================== # 2. PAYMENT PROCESSORS & METHODS (13+ INTEGRATIONS) # ================================================================== processors: description: > Built and maintain a wide range of payment integrations, each implementing the operations relevant to its rails. card_processors: stripe: "Charge, auth + manual capture, refund, payment/setup intents, card-present, webhooks, multi-currency, marketplace (Connect)." elavon: "Terminal-socket charge, auth, refund over TLS; plus a dedicated 3D-Secure variant with full challenge/enrollment status handling." freedompay: "Purchase, auth, and refund with merchant-defined metadata." shift4: "Card-present processing with webhook ingestion." komoju: "Card processing for the Japanese market (JPY), with tokenization and full/partial refund." crypto: triplea: "Cryptocurrency acceptance via hosted payment page + webhook confirmation; tracks crypto address/currency, receive amount, and hold/confirmed status." wallets_and_alt_rails: - "Digital wallets (Apple Pay / Google Pay) and alternative rails via the card-processor layer." - "ACH credit transfer and regional bank methods (SEPA debit, iDEAL, FPX)." - "PayPal hosted checkout (OAuth2 token, capture-intent flow, webhook completion)." - "Skipify-assisted and SMS-payment-link flows for remote/mobile payment." stored_value_and_property: gift_card: "Gift-card balance authorization/redemption over an XML gateway protocol." room_charge: "Guest-folio posting to a property system, OAuth token, room verification, charge posting, duplicate detection." house_credit: "House/property credit accounts, apply credit and refund-to-credit with root-transaction linkage." manual: "Mark-as-manual/pending for offline/invoice/check collection." # ================================================================== # 3. PLUGGABLE GATEWAY ABSTRACTION # ================================================================== gateway_abstraction: description: > Designed a uniform gateway contract so processors are drop-in modules, the reason 13+ methods coexist cleanly. contract: "Per-gateway {gateway}_create_intent / _cc_charge / _refund / _retrieve_intent / _cancel_intent (and prepare/preprocess/webhook where relevant)." merchant_config: "Per-merchant config (account id, keys, timezone, environment) selects and parameterizes the gateway." scale_problem: > Merchant deduplication where many locations under one corporate entity share a single connected account, an in-memory processed-account set avoids duplicate API calls and rate limiting during bulk reconciliation. # ================================================================== # 4. IN-PERSON / HARDWARE TERMINAL PAYMENTS # ================================================================== terminals: description: > Built hardware-terminal (card-present) payment support. capabilities: - "Terminal/reader registration and location management against the processor." - "Card-present capture with a manual-capture workflow driven by a capturable-amount webhook and a bounded capture window." - "Kiosk/terminal identity, serial tracking, and multi-reader locations." # ================================================================== # 5. CARD-ON-FILE / TOKENIZATION # ================================================================== card_on_file: description: > Built stored-payment-method / card-on-file support. capabilities: - "Setup-intent tokenization without an immediate charge; off-session future-use flagging for recurring/subscription." - "Customer-profile linkage, billing-address capture, brand/expiry/last-four storage for display." # ================================================================== # 6. FEE & SURCHARGE ENGINE # ================================================================== fees: description: > Built a configurable fee/surcharge engine feeding the pricing breakdown (see COMP-03 / COMP-14). capabilities: - "App fees (per-venue) and commission fees (per-partner-per-venue)." - "30+ formula variants: fixed, percentage, capped-percentage, per-guest, per-item, tiered, fixed-plus-percentage." - "Applied at cart projection and at final payment-intent computation, with per-ticket breakdown used by refunds." # ================================================================== # 7. REFUNDS, DISPUTES & RECONCILIATION # ================================================================== refunds_disputes_recon: refund_engine: - "Clones the original payment intent/items with negated amounts and recursively negates the itemized surcharge breakdown." - "Preserves the original charge and creates a mirror refund record for a complete audit trail." - "Full and partial refunds with per-surcharge selection; multi-hop refund unwinding along the original payment path (last-in-first-out)." - "Role-gated refund-request workflow (request → review → approve → process) with PDF confirmations." disputes: - "Dispute/chargeback lifecycle tracking (open / won / lost / closed) with evidence assembly from ticket, invoice, transaction, and customer data." reconciliation: - "Tender, deposit, revenue, and adjustment reconciliation; processor-settlement reconciliation (gross vs. fees vs. net collected)." non_card_types: payment_types: [prepay, comp, invite, partial, no-show-fee] # ================================================================== # 8. WEBHOOKS & FULFILLMENT # ================================================================== webhooks_fulfillment: webhooks: - "Processor webhooks for intent-succeeded/failed, capturable-amount-updated, refunds, and dispute lifecycle, metadata-validated and livemode/environment-gated." - "Dedicated webhook handlers for crypto, SMS-payment, and card-present processors, with real-time socket notification on state change." fulfillment: - "Invoice + ticket PDF generation (scannable QR), customizable per-context templates, and email delivery." cross_reference: $ref: "https://zc8.com/competencies/05_integrations_etl"