# TransFi-Checkout Documentation > Documentation for TransFi-Checkout Append .md to any documentation page URL to get its markdown version. ## Guides - [Welcome to TransFi-Checkout](https://checkout-docs.transfi.com/docs/getting-started.md) - [Overview](https://checkout-docs.transfi.com/docs/copy-of-welcome-to-transfi-checkout-1.md) - [Environments](https://checkout-docs.transfi.com/docs/copy-of-welcome-to-transfi-checkout.md) - [User Management](https://checkout-docs.transfi.com/docs/user-management.md) - [Step 2: Add Settlement Account](https://checkout-docs.transfi.com/docs/step-2-add-settlement-account.md) - [Step 3: Create a Transaction](https://checkout-docs.transfi.com/docs/ssvd.md) - [Alternative Entry Flow : Pay by Link](https://checkout-docs.transfi.com/docs/step-4-pay-by-link.md) - [Step 4: Redirect to Checkout](https://checkout-docs.transfi.com/docs/step-4-redirect-to-checkout.md) - [Step 5: Handle Payment Status](https://checkout-docs.transfi.com/docs/step-5-handle-payment-status.md) - [Step 6: Set Up Webhooks (Recommended)](https://checkout-docs.transfi.com/docs/step-6-set-up-webhooks-recommended.md) - [Webhook Schema](https://checkout-docs.transfi.com/docs/webhook-schema.md) - [Responding to Webhook Requests](https://checkout-docs.transfi.com/docs/responding-to-webhook-requests.md) - [Webhook Signature](https://checkout-docs.transfi.com/docs/webhook-signature.md) - [Webhook Retry](https://checkout-docs.transfi.com/docs/webhook-retry.md) - [Payin](https://checkout-docs.transfi.com/docs/payin.md) - [Step 7: Test Payments in Sandbox](https://checkout-docs.transfi.com/docs/step-7-test-payments-in-sandbox.md) - [Step 8: Go Live in Production](https://checkout-docs.transfi.com/docs/step-8-go-live-in-production.md) ## API Reference - [Create Payment Invoice](https://checkout-docs.transfi.com/reference/createpaymentinvoice.md): Creates a dynamic invoice tied to a specific payment link template, allowing merchants to pass customer and product details. ## Authentication - HMAC-SHA256 All requests MUST include custom headers for security and verification: **Required Headers:** - `Content-Type`: Must be `application/json` - `x-api-key`: Merchant's Public Key (pk_...) - `x-timestamp`: Current time in milliseconds (e.g., 1758957600000) - `x-signature`: HMAC-SHA256 hash - `X-Api-Version`: API version (`v1`) **Optional Headers:** - `x-trace-id`: Request trace ID for logging ## HMAC Signature Calculation ```javascript const method = 'POST'; const path = '/checkout/payment-link/invoice'; const timestamp = Date.now().toString(); const body = JSON.stringify(requestBody); const message = method + path + timestamp + body; const signature = crypto.createHmac('sha256', SECRET_KEY).update(message).digest('hex'); ``` ## Environment & Security - Organizations with status !== 'live' can only use sandbox API keys - Live organizations can use both sandbox and live API keys - Production requests must come from whitelisted IPs - [TransFi SDK Documentation](https://checkout-docs.transfi.com/reference/transfi-sdk-documentation.md) - [TransFi SDK Documentation](https://checkout-docs.transfi.com/reference/copy-of-transfi-sdk-documentation.md) - [ Installation](https://checkout-docs.transfi.com/reference/installation.md) - [ Authentication](https://checkout-docs.transfi.com/reference/authentication-1.md) - [Quick Start](https://checkout-docs.transfi.com/reference/nos.md) - [Methods](https://checkout-docs.transfi.com/reference/methods-1.md) - [Parameters](https://checkout-docs.transfi.com/reference/parameters.md) - [Error Handling](https://checkout-docs.transfi.com/reference/error-handling.md) - [Complete Example](https://checkout-docs.transfi.com/reference/complete-example.md)