# llms.txt ## Table of contents - [Marketplaces vs. Non-Marketplaces](https://developer.ryftpay.com/documentation/overview/marketplaces.md) - [What is Ryft](https://developer.ryftpay.com/documentation/overview.md) - [Why Ryft ?](https://developer.ryftpay.com/documentation/overview/why_ryft.md) - [Welcome to the Ryft Developer Hub !](https://developer.ryftpay.com/index.html.md) - [API](https://developer.ryftpay.com/documentation/api.md) - [Support At Ryft](https://developer.ryftpay.com/documentation/overview/support.md) - [The Importance of Testing](https://developer.ryftpay.com/documentation/overview/testing.md) - [Changelog](https://developer.ryftpay.com/documentation/api/changelog.md) - [Order Terminals](https://developer.ryftpay.com/documentation/get_started/in_person/order.md) - [Get Started](https://developer.ryftpay.com/documentation/get_started.md) - [Additional Resources](https://developer.ryftpay.com/documentation/get_started/additional_resources.md) - [In-Person Payments](https://developer.ryftpay.com/documentation/get_started/in_person.md) - [Set-Up Apple Pay](https://developer.ryftpay.com/documentation/get_started/additional_resources/apple_pay.md) - [Payments](https://developer.ryftpay.com/documentation/get_started/in_person/payments.md) - [Managing Refunds](https://developer.ryftpay.com/documentation/get_started/in_person/refunds.md) - [Set-Up Terminal](https://developer.ryftpay.com/documentation/get_started/in_person/set_up.md) - [Capture a Payment](https://developer.ryftpay.com/documentation/get_started/manage_payments/capture.md) - [Manage Payments](https://developer.ryftpay.com/documentation/get_started/manage_payments.md) - [Manage Disputes](https://developer.ryftpay.com/documentation/get_started/manage_payments/disputes.md) - [Software Development Kits (SDKs)](https://developer.ryftpay.com/documentation/get_started/additional_resources/sdks.md) - [Refund a Payment](https://developer.ryftpay.com/documentation/get_started/manage_payments/refund.md) - [Manage Subscriptions](https://developer.ryftpay.com/documentation/get_started/manage_payments/subscriptions.md) - [Void a Payment](https://developer.ryftpay.com/documentation/get_started/manage_payments/void.md) - [Conversions](https://developer.ryftpay.com/documentation/get_started/conversions.md) - [Initiate Payments](https://developer.ryftpay.com/documentation/get_started/initiate_payments.md) - [MOTO Payments](https://developer.ryftpay.com/documentation/get_started/initiate_payments/moto.md) - [Recurring Payments](https://developer.ryftpay.com/documentation/get_started/initiate_payments/recurring.md) - [Single Payment](https://developer.ryftpay.com/documentation/get_started/initiate_payments/single_payment.md) - [Platform Fee](https://developer.ryftpay.com/documentation/get_started/initiate_payments/platform_fee.md) - [Split Payment](https://developer.ryftpay.com/documentation/get_started/initiate_payments/split_payment.md) - [Subscriptions](https://developer.ryftpay.com/documentation/get_started/initiate_payments/subscriptions.md) - [Unscheduled Payments](https://developer.ryftpay.com/documentation/get_started/initiate_payments/unscheduled.md) - [Decrypted Apple Pay and Google Pay Tokens](https://developer.ryftpay.com/documentation/get_started/process_payments/decrypted_wallet_tokens.md) - [Process Payments](https://developer.ryftpay.com/documentation/get_started/process_payments.md) - [MOTO Payments](https://developer.ryftpay.com/documentation/get_started/process_payments/moto.md) - [SDK Errors](https://developer.ryftpay.com/documentation/get_started/process_payments/sdk_errors.md) - [Test Cards](https://developer.ryftpay.com/documentation/get_started/process_payments/test_cards.md) - [Server-To-Server Payments](https://developer.ryftpay.com/documentation/get_started/process_payments/server_to_server.md) - [Accounts](https://developer.ryftpay.com/documentation/get_started/portal/accounts.md) - [Balances](https://developer.ryftpay.com/documentation/get_started/portal/balances.md) - [Contact](https://developer.ryftpay.com/documentation/get_started/portal/contact.md) - [Customers](https://developer.ryftpay.com/documentation/get_started/portal/customers.md) - [Dashboard](https://developer.ryftpay.com/documentation/get_started/portal/dashboard.md) - [Developer](https://developer.ryftpay.com/documentation/get_started/portal/developer.md) - [Dispute](https://developer.ryftpay.com/documentation/get_started/portal/disputes.md) - [Ryft Portal](https://developer.ryftpay.com/documentation/get_started/portal.md) - [Payments](https://developer.ryftpay.com/documentation/get_started/portal/payments.md) - [Payouts](https://developer.ryftpay.com/documentation/get_started/portal/payouts.md) - [Profile](https://developer.ryftpay.com/documentation/get_started/portal/profile.md) - [Registration](https://developer.ryftpay.com/documentation/get_started/portal/registration.md) - [Platform Fees](https://developer.ryftpay.com/documentation/get_started/portal/platform_fees.md) - [Reports](https://developer.ryftpay.com/documentation/get_started/portal/reports.md) - [Settings](https://developer.ryftpay.com/documentation/get_started/portal/settings.md) - [Shop](https://developer.ryftpay.com/documentation/get_started/portal/shop.md) - [Subscriptions](https://developer.ryftpay.com/documentation/get_started/portal/subscriptions.md) - [Terminals](https://developer.ryftpay.com/documentation/get_started/portal/terminals.md) - [Hosted Onboarding](https://developer.ryftpay.com/documentation/get_started/onboarding/hosted_onboarding.md) - [Sub-Accounts Onboarding](https://developer.ryftpay.com/documentation/get_started/onboarding.md) - [Non-Hosted (API) Onboarding](https://developer.ryftpay.com/documentation/get_started/onboarding/non_hosted_onboarding.md) - [Payouts](https://developer.ryftpay.com/documentation/get_started/onboarding/payouts.md) - [Terms And Conditions](https://developer.ryftpay.com/documentation/get_started/onboarding/terms_conditions.md) - [Conversions Webhooks](https://developer.ryftpay.com/documentation/get_started/webhooks/conversions.md) - [Webhooks](https://developer.ryftpay.com/documentation/get_started/webhooks.md) - [Payments Webhooks](https://developer.ryftpay.com/documentation/get_started/webhooks/payments.md) - [Sub-Accounts Webhooks](https://developer.ryftpay.com/documentation/get_started/webhooks/sub_accounts.md) - [Subscriptions Webhooks](https://developer.ryftpay.com/documentation/get_started/webhooks/subscriptions.md) - [3D Secure Authentication (3DS)](https://developer.ryftpay.com/documentation/overview/core_concepts/3ds.md) - [Conversions](https://developer.ryftpay.com/documentation/overview/core_concepts/conversions.md) - [Supported Currencies](https://developer.ryftpay.com/documentation/overview/core_concepts/currencies.md) - [Disputes](https://developer.ryftpay.com/documentation/overview/core_concepts/disputes.md) - [Environments](https://developer.ryftpay.com/documentation/overview/core_concepts/environments.md) - [Fees](https://developer.ryftpay.com/documentation/overview/core_concepts/fees.md) - [Ryft Core Concepts](https://developer.ryftpay.com/documentation/overview/core_concepts.md) - [Payments](https://developer.ryftpay.com/documentation/overview/core_concepts/payments.md) - [Payouts](https://developer.ryftpay.com/documentation/overview/core_concepts/payouts.md) - [PCI Compliance](https://developer.ryftpay.com/documentation/overview/core_concepts/pci_compliance.md) - [PSD2](https://developer.ryftpay.com/documentation/overview/core_concepts/psd2.md) - [Ryft Entities](https://developer.ryftpay.com/documentation/overview/core_concepts/ryft_entities.md) - [SDK](https://developer.ryftpay.com/documentation/overview/core_concepts/sdk.md) - [Stored Payment Methods](https://developer.ryftpay.com/documentation/overview/core_concepts/stored_payment_methods.md) - [Webhooks](https://developer.ryftpay.com/documentation/overview/core_concepts/webhooks.md) - [Apple Pay & Google Pay](https://developer.ryftpay.com/documentation/overview/payment_types/apple_google_pay.md) - [In-Person Payments](https://developer.ryftpay.com/documentation/overview/payment_types/in_person.md) - [Payment Types](https://developer.ryftpay.com/documentation/overview/payment_types.md) - [MOTO Payment](https://developer.ryftpay.com/documentation/overview/payment_types/moto.md) - [Recurring and Unscheduled Payments](https://developer.ryftpay.com/documentation/overview/payment_types/recurring_and_unscheduled.md) - [Platform Fee and Split Payments](https://developer.ryftpay.com/documentation/overview/payment_types/platform_fee_split_payments.md) - [Single Payments](https://developer.ryftpay.com/documentation/overview/payment_types/single.md) - [Subscriptions](https://developer.ryftpay.com/documentation/overview/payment_types/subscriptions.md) - [Transfers](https://developer.ryftpay.com/documentation/overview/payment_types/transfer.md) - [Anti Money Laundering](https://developer.ryftpay.com/documentation/overview/risk_management/anti_money_laundering.md) - [Risk Management](https://developer.ryftpay.com/documentation/overview/risk_management.md) - [The Importance of Risk Management](https://developer.ryftpay.com/documentation/overview/risk_management/risk_management.md) - [API Changelog](https://developer.ryftpay.com/documentation/api/changelog/api.md) - [SDK Changelog](https://developer.ryftpay.com/documentation/api/changelog/sdk.md) - [3DS Configuration](https://developer.ryftpay.com/documentation/get_started/initiate_payments/additional_settings/3ds-configuration.md) - [Account Verification (Zero-Value Authentication)](https://developer.ryftpay.com/documentation/get_started/initiate_payments/additional_settings/account-verification.md) - [Authorisation](https://developer.ryftpay.com/documentation/get_started/initiate_payments/additional_settings/authorisation.md) - [Disable Specific Payment Methods](https://developer.ryftpay.com/documentation/get_started/initiate_payments/additional_settings/disabling-payment-methods.md) - [Additional Settings](https://developer.ryftpay.com/documentation/get_started/initiate_payments/additional_settings.md) - [Pass Processing Fees to Sub-Accounts](https://developer.ryftpay.com/documentation/get_started/initiate_payments/additional_settings/pass-processing-fees.md) - [Handling Client-Side Actions](https://developer.ryftpay.com/documentation/get_started/process_payments/android/client_side_actions.md) - [Additional Configurations](https://developer.ryftpay.com/documentation/get_started/process_payments/android/additional_configurations.md) - [Drop-In Listener](https://developer.ryftpay.com/documentation/get_started/process_payments/android/drop_in_listener.md) - [Showing the Drop-in UI](https://developer.ryftpay.com/documentation/get_started/process_payments/android/showing_drop_in.md) - [Additional Configurations](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/additional_config.md) - [Apple Pay](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/apple_pay.md) - [Express Checkout](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/express_checkout.md) - [Initial Setup](https://developer.ryftpay.com/documentation/get_started/process_payments/android/initial_setup.md) - [Field Collection](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/field_collection.md) - [Google Pay](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/google_pay.md) - [Handling Errors](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/handling_errors.md) - [Initial Setup](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/initial_setup.md) - [Recurring and Unscheduled Payments](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/recurring_and_unscheduled.md) - [Showing Saved Cards](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/saved_cards.md) - [Handling SDK Events](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/sdk_events.md) - [Subscriptions](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk/subscriptions.md) - [Additional Configurations](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk_v3/additional_config.md) - [Apple Pay](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk_v3/apple_pay.md) - [Field Collection](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk_v3/field_collection.md) - [Migrating From v2](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk_v3/migrate_from_v2.md) - [Google Pay](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk_v3/google_pay.md) - [Quick Start](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk_v3/quick_start.md) - [Recurring and Unscheduled Payments](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk_v3/recurring_and_unscheduled.md) - [Showing Saved Cards](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk_v3/saved_cards.md) - [Subscriptions](https://developer.ryftpay.com/documentation/get_started/process_payments/embedded_sdk_v3/subscriptions.md) - [Additional Configurations](https://developer.ryftpay.com/documentation/get_started/process_payments/ios/additional_configurations.md) - [Apple Pay](https://developer.ryftpay.com/documentation/get_started/process_payments/ios/apple_pay.md) - [Handling Client-Side Actions](https://developer.ryftpay.com/documentation/get_started/process_payments/ios/client_side_actions.md) - [Drop-In Listener](https://developer.ryftpay.com/documentation/get_started/process_payments/ios/drop_in_listener.md) - [Initial Setup](https://developer.ryftpay.com/documentation/get_started/process_payments/ios/initial_setup.md) - [Verification of Sub-Accounts](https://developer.ryftpay.com/documentation/get_started/onboarding/verification.md) - [Individuals](https://developer.ryftpay.com/documentation/get_started/onboarding/verification/individuals.md) - [Business](https://developer.ryftpay.com/documentation/get_started/onboarding/verification/business.md) - [Person](https://developer.ryftpay.com/documentation/get_started/onboarding/verification/person.md) - [Upload Documents for KYC/KYB Verification](https://developer.ryftpay.com/documentation/get_started/onboarding/verification/upload_documents.md) - [Ryft Payment API](https://developer.ryftpay.com/documentation/api/reference/openapi.md): Ryft provides a collection of APIs that you can use to accept and process payments + marketplace functionality (payouts). We have a testing environment called sandbox, which you can sign up for to test API calls without affecting live data. # Authentication When you sign up for an account, you are given a secret and public API key pair. You authenticate with our API by providing the appropriate key in the request Authorization header. Never share your secret keys. Keep them guarded and secure. ## Public API key Public keys should only be used in JavaScript or native applications. This key is solely used to identify the partner making requests. Supply this key in the `Authorization` header. ## Secret API key Your secret key should always be supplied in the `Authorization` header. Make sure this key is stored securely on your backend and never surfaced client-side. # Rate Limiting We use rate limiting on a per-user basis to protect our APIs against abuse. Our Sandbox environment is limited to 5 requests per second. Our production environment is limited to 50 requests per second. We also allow a brief burst above this limit to accommodate a sudden increase in traffic. If you exceed the above quota then the API will respond with a 429 status code and you will need to retry the API call (we recommend implementing a retry policy with an exponential back-off).