Cashflows Developer Portal

website·Indexed 34 days ago

https://developer.cashflows.com

Documentation for integrating Cashflows payment processing, featuring the Gateway API, Remote Authentication API, and In-Person Payments for Kinetic Go 2 terminals. Includes guides for Hosted Checkout Pages, Embedded Checkout, and integrations with Shopify and WooCommerce, as well as technical references for 3DSecure, PCI-DSS compliance, and the Account Management System (AMS).

Tokens
77.4K
Snippets
250
Records
463
Agent score
57%

What's inside Cashflows

  1. Overview of the Cashflows Gateway API

    The Cashflows Gateway API is a REST-based service used for creating payment jobs, processing refunds, and other payment-related operations. It accepts requests in JSON format and uses standard HTTP verbs: GET (retrieve), PUT (update), PATCH (update), and DELETE (delete).
  2. Overview of the Cashflows Payments API

    The Cashflows Payments API is a REST-based service that accepts and returns data in JSON format. It utilizes standard HTTP verbs for resource management: GET for retrieval, PUT and PATCH for updates, and DELETE for removal. The API uses standard HTTP response codes.
  3. Overview of Cashflows Hosted Checkout Pages

    Cashflows Hosted Checkout Pages provide a secure, mobile-optimized payment environment hosted by Cashflows but integrated into a merchant's website. This approach reduces PCI DSS compliance burdens because card details are captured directly by Cashflows, meaning the merchant does not store or process sensitive card data on their own servers. Key features include secure card storage for returning customers, support for 3D Secure (up to v2.2), and full customization of branding, logos, and colors.
  4. Overview of Cashflows Hosted Checkout Pages (HCP)

    Cashflows Hosted Checkout Pages (HCP) provide a secure, PCI-compliant way to integrate card payments. The process is fully hosted by Cashflows, including 3D Secure support and mobile optimization.

    High-Level Payment Flow:

    1. Shopper clicks Pay on the merchant site.
    2. Merchant server sends a payment-initiation JSON request to the Cashflows Gateway.
    3. Cashflows displays the HCP (which can be custom branded).
    4. Shopper enters card details (3D Secure may be applied).
    5. Gateway processes the payment and notifies the merchant site of success or failure.
    6. Shopper is redirected back to the merchant's return URL.
  5. Overview of Network Tokens

    Network Tokens increase transaction security by replacing a cardholder's Primary Account Number (PAN) with a unique, dynamically generated identifier. This mitigates the risk of fraud and data breaches and allows payment information to be updated without changing the underlying token.
  6. Overview of Cashflows Gateway integration options

    The Cashflows Gateway allows merchants to accept online payments via Visa, Mastercard, American Express, and digital wallets (Apple Pay, Google Pay, Click to Pay, and PayPal). Depending on the desired level of control and PCI compliance responsibility, developers can choose from several integration paths:

    • Embedded Checkout: Secure payment fields are displayed directly on the merchant's website, blending the checkout experience while Cashflows handles the processing and security.
    • Hosted Checkout Pages: Shoppers are redirected to a secure Cashflows-hosted webpage for payment processing and then redirected back to the merchant's site.
    • Remote Authentication: The merchant collects cardholder and transaction details within their own gateway and submits them directly to the Cashflows acquirer network. This requires the merchant to take full responsibility for PCI compliance.
    • Network Tokens: Can be added to either Hosted Checkout Pages or Remote Authentication integrations.
  7. Overview of Kinetic Go 2 REST API

    The Kinetic Go 2 solution provides a standalone payment application for PCI-PTS secure devices. It exposes a REST API (JSON over HTTP) that allows external systems (iOS, Android, PC, Web) to initiate and monitor transactions without handling sensitive card data. The devices are web-addressable via Wi-Fi, Ethernet, or local loop address (127.0.0.1).
  8. Overview of Cashflows Remote Authentication API

    The Cashflows Remote Auth API allows gateways to collect cardholder and transaction details and submit them directly to the Cashflows acquirer network for processing. Because this method involves handling sensitive card data, users are responsible for maintaining full PCI-DSS compliance, including providing an Attestation of Compliance certificate and evidence of recent vulnerability scans.
  9. Overview of Cashflows Gateway API capabilities

    The Cashflows Gateway API allows developers to integrate online payment processing. Supported functionalities include:

    • Transaction Management: Authorize and capture funds together, or perform separate authorization and final capture (ring-fencing funds).
    • Specialized Payments: Mail or telephone (MOTO) payments, payment links for invoices/social media, and recurring payments.
    • Financial Services: Support for additional details required by financial institutions.
    • Card Management: Securely storing card details for future use.
    • Payment Methods: Dynamic retrieval of supported payment methods and their associated logos/icons.
    • Security: Built-in fraud prevention via 3-D Secure (up to version 2.2) and Strong Customer Authentication (SCA) compliance, including exemptions for recurring Mastercard and Visa transactions.
  10. Overview of Cashflows Embedded Checkout

    Embedded Checkout allows merchants to integrate secure payment fields (iFrames) directly into their own website. This ensures that sensitive card data is hosted by Cashflows and sent directly to the Cashflows Gateway API, reducing PCI compliance burden while allowing full UI customization. It supports major card types (Visa, Mastercard, Amex), 3D Secure, and is responsive for mobile devices. Note that Embedded Checkout is used for the initial payment; subsequent payment actions must be handled via the User Interface or API calls.
  11. Overview of Cashflows Fast Onboarding for Partners

    Cashflows Fast Onboarding is an online portal for partners to manage merchant applications. It allows partners to start new applications, track real-time application status, respond to information requests, and manage merchant documents in one centralized location. The portal provides pre-filled merchant information from third-party data to accelerate the approval process.
  12. Kinetic Go 2 Transaction Response Object Reference

    The Kinetic Go 2 REST API returns a transaction object containing detailed metadata about a payment attempt, including card details, authorization results, and hardware input sources. This object is used to determine if a transaction was approved, the method of entry (e.g., contactless, EMV, keyed), and specific EMV/SCA status flags.
    {
        "success": true,
        "transaction": {
            "account_number": "string", // Masked PAN, e.g. "4***********1111"
            "amount": "number",
            "amount_other": "number", // Cashback amount
            "app_confirmation_required": "boolean",
            "app_label": "string",
            "attempted_sources": ["contactless", "contact_emv", "keypad", "mag_stripe"],
            "attempts_remaining": "number",
            "auth_code": "string",
            "card_details": {
                "scheme": "visa-old-us | visa-wave-2 | visa-qvsdc | visa-msd | paypass-magstripe | paypass-mchip | jcb-wave-2 | jcb-qvsdc | amex-emv | amex-magstripe | discover-zip | jcb-emv | jcb-msd | jcb-legacy | discover-dpas | interac-flash | meps-mccs | cup-qpboc | discover-magstripe | unknown",
                "track2": "string" // Masked track 2 data
            },
            "card_expiry": "YYMM",
            "cvm_mode": "offline_pin|online_pin|signature",
            "duration": "number", // Transaction duration in seconds
            "ended_at": "number", // UNIX epoch timestamp
            "cvm_result": "string | array", // "ok", "failed", "blocked", or hex value
            "host": "string",
            "id": "string", // Unique transaction identifier (UUID)
            "input_source": "contactless | contact_emv | keypad | mag_stripe",
            "is_active": "boolean",
            "is_contactless": "boolean",
            "is_contactless_transaction_limit_exceeded": "boolean",
            "is_deferred_auth": "boolean",
            "is_emv": "boolean",
            "is_fallback": "boolean",
            "is_force_online": "boolean",
            "is_keyed": "boolean",
            "is_online": "boolean",
            "is_online_pin": "boolean",
            "is_offline_pin": "boolean",
            "is_reversed": "boolean",
            "is_sca_single_tap": "boolean",
            "is_signature_required": "boolean",
            "issuer_id": "string",
            "ksn": "string",
            "last_deferred_auth_attempted_at": "number",
            "message_number": "number",
            "num_attempts": "number",
            "num_deferred_auth_attempts": "number",
            "online_request": { "/* host-dependent data */" },
            "online_response": { "/* host-dependent data */" },
            "online_result": "approved|declined|cancelled|error",
            "pin_block": "string",
            "reference_number": "string",
            "reference_txn_id": "string", // ID of the transaction being reversed
            "result": "approved|declined|cancelled|error",
            "services": {
                "code": "string", // Un-parsed service code
                "interchange_rules": "interchange_ok|interchange_prefer_ic|natl_interchange_only|natl_interchange_only_prefer_ic|no_interchange|test|unknown",
                "authorization_processing_rules": "normal|contact_issuer_online|contact_issuer_online_except_under_agreement|unknown",
                "range_of_services": "no_restrictions_pin_required|no_restrictions|no_cash|atm_only_pin_required|cash_only|no_cash_pin_required|no_restrictions_prefer_pin|no_cash_prefer_pin|unknown"
            },
            "session_number": "number"
        }
    }