{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["img","admonition"]},"type":"markdown"},"seo":{"title":"Reefpay Docs","description":"Reefpay is the groundbreaking payment gateway that lets you integrate with the future of payments.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"about-sale-vs-authorization","__idx":0},"children":["About sale vs. authorization"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"two-ways-to-process-a-card-payment","__idx":1},"children":["Two ways to process a card payment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Paradise Pay provides two card transaction flows that differ in when funds are captured from the person's account."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Flow"},"children":["Flow"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Transaction types"},"children":["Transaction types"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Steps"},"children":["Steps"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Funds captured"},"children":["Funds captured"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["One-step (sale)"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sale"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["1"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Immediately upon authorization"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Two-step (auth + capture)"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["auth"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["capture"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["2"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["When you explicitly capture"]}]}]}]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"https://files.modern-mermaid.live/images/1776270258757-mermaid-diagram-1776270258947.png","alt":"Sale vs. authorization","framed":false,"withLightbox":false,"className":"sale-vs-auth","width":"75%","height":"75%","align":"center"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"one-step-sale","__idx":2},"children":["One-step: sale"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A sale authorizes and captures the payment in a single request. Use this when you can fulfill the order immediately."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-use-a-sale","__idx":3},"children":["When to use a sale"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Digital goods (software, subscriptions, downloads)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In-person retail where the item is handed to the person at purchase"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Services rendered at the time of payment"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"how-it-works","__idx":4},"children":["How it works"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/transactions"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type: sale"]},"."," ","2.","Reefpay"," authorizes with the processor and automatically marks the transaction for capture."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The transaction enters the next settlement batch."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"example-request","__idx":5},"children":["Example request"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"type\": \"sale\",\n  \"amount\": 1999,\n  \"payment_method\": {\n    \"type\": \"card\",\n    \"pan\": \"4111111111111234\",\n    \"expiry_month\": \"03\",\n    \"expiry_year\": \"2028\",\n    \"cardholder_name\": \"John Doe\",\n    \"cvv\": \"456\",\n    \"address_line1\": \"123 Main St\",\n    \"zip\": \"10001\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"example-response","__idx":6},"children":["Example response"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"TRANSACTION-01JMRSPCK7XVNP3KS8F2W4T6Y\",\n  \"object\": \"transaction\",\n  \"type\": \"sale\",\n  \"transaction_state\": \"authorized\",\n  \"response_status\": \"Approved\",\n  \"response_code\": \"00\",\n  \"amount\": 1999,\n  \"correlation_id\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"two-step-authorization-then-capture","__idx":7},"children":["Two-step: authorization then capture"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An authorization places a hold on the person's funds without transferring them. You capture when ready — typically when the order ships or the service is confirmed."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"when-to-use-authorization--capture","__idx":8},"children":["When to use authorization + capture"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["E-commerce where items ship after ordering"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Pre-orders or backorders"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Hotel or rental reservations (hold amount, capture final amount)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Any scenario where the final amount may differ from the initial hold"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"how-it-works-step-by-step","__idx":9},"children":["How it works step by step"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/transactions"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type: auth"]}," to authorize."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The processor places a hold on the person's account."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["When ready, send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/transactions/{id}/capture"]}," with the final amount."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The captured transaction enters the next settlement batch."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1-authorize","__idx":10},"children":["Step 1: Authorize"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"type\": \"auth\",\n  \"amount\": 25000,\n  \"payment_method\": {\n    \"type\": \"card\",\n    \"pan\": \"5500000000005678\",\n    \"expiry_month\": \"07\",\n    \"expiry_year\": \"2029\",\n    \"cardholder_name\": \"Jane Smith\",\n    \"cvv\": \"789\",\n    \"address_line1\": \"42 Oak Ave\",\n    \"zip\": \"30301\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Response returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transaction_state: authorized"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2-capture","__idx":11},"children":["Step 2: Capture"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"type\": \"capture\",\n  \"amount\": 25000,\n  \"tip\": 0\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send this to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/transactions/{id}/capture"]},", where ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{id}"]}," is the transaction ID from the authorization response."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Partial captures"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can capture an amount less than or equal to the authorized amount. This is useful when only part of an order ships. The remaining hold is released back to the person."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"comparing-the-two-flows","__idx":12},"children":["Comparing the two flows"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Aspect"},"children":["Aspect"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Sale"},"children":["Sale"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Authorization + capture"},"children":["Authorization + capture"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["API calls"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["1"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["2"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Funds held"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Authorized and captured immediately"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Held until you explicitly capture"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Amount flexibility"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Fixed at time of sale"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Can capture less than authorized"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Void window"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Before batch settlement"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Before capture or before batch settlement"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Best for"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Immediate fulfillment"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Delayed or variable-amount fulfillment"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Authorization expiry"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Not applicable"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Authorizations expire if not captured (typically 7–30 days, varies by issuer)"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-happens-if-you-do-not-capture","__idx":13},"children":["What happens if you do not capture"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you authorize but never capture, the hold on the person's account expires after a period set by the issuing bank (typically 7–30 days). The funds are released back to the person and no settlement occurs."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This does not generate a cancel or void — the authorization simply expires. However, it is best practice to explicitly cancel authorizations you do not intend to capture, so the person's funds are released immediately."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"further-reading","__idx":14},"children":["Further reading"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/concepts/transactions/transaction-lifecycle"},"children":["About the transaction lifecycle"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/concepts/transactions/cancels-and-refunds"},"children":["About cancels and refunds"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/concepts/transactions/batch-settlement"},"children":["About batch settlement"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/how-tos/process-payments/authorize-capture-separately"},"children":["Authorizing and capturing separately"]}]}]}]},"headings":[{"value":"About sale vs. authorization","id":"about-sale-vs-authorization","depth":1},{"value":"Two ways to process a card payment","id":"two-ways-to-process-a-card-payment","depth":2},{"value":"One-step: sale","id":"one-step-sale","depth":2},{"value":"When to use a sale","id":"when-to-use-a-sale","depth":3},{"value":"How it works","id":"how-it-works","depth":3},{"value":"Example request","id":"example-request","depth":3},{"value":"Example response","id":"example-response","depth":3},{"value":"Two-step: authorization then capture","id":"two-step-authorization-then-capture","depth":2},{"value":"When to use authorization + capture","id":"when-to-use-authorization--capture","depth":3},{"value":"How it works step by step","id":"how-it-works-step-by-step","depth":3},{"value":"Step 1: Authorize","id":"step-1-authorize","depth":3},{"value":"Step 2: Capture","id":"step-2-capture","depth":3},{"value":"Comparing the two flows","id":"comparing-the-two-flows","depth":2},{"value":"What happens if you do not capture","id":"what-happens-if-you-do-not-capture","depth":2},{"value":"Further reading","id":"further-reading","depth":2}],"frontmatter":{"title":"About sale vs. authorization","shortTitle":"Sale vs authorization","intro":"Paradise Pay supports one-step sales and two-step authorization-then-capture flows. Choose the right approach based on when you fulfill the order.","type":"overview","seo":{"title":""}},"lastModified":"2026-06-05T02:46:44.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/concepts/transactions/sale-vs-auth","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}