# Paylink Developer Hub Documentation > Paylink's collection of APIs offers a robust platform for developers to build tailored solutions that address a wide range of business needs for Paylink sellers. Whether you're creating custom solutions or developing for the App Marketplace, Paylink's developer platform provides the necessary tools and resources to support your development efforts effectively. ## Guides - [Welcome](https://developer.paylink.sa/docs/overview.md): Paylink is the smart choice for developers looking to create tailored solutions for Paylink sellers. Whether you're building custom solutions or apps for the App Marketplace, Paylink's developer platform has everything you need. - [Paylink Application](https://developer.paylink.sa/docs/paylink-application.md): The Paylink application simplifies the process of invoicing and receiving payments for your products, all directly from your smartphone. With Paylink, you can effortlessly send invoices and accept payments without the need for a physical store or complex integrations with E-payment gateways. - [Paylink Dashboard](https://developer.paylink.sa/docs/paylink-dashboard.md): The dashboard enables you to get detailed reports of payments made to your store. In addition, the dashboard offers you different features, such as creating electronic invoices and providing full support, creating multiple accounts for various tasks within a single team to facilitate teamwork, and many other features. - [Contact Us](https://developer.paylink.sa/docs/contact-us.md) - [Get Access](https://developer.paylink.sa/docs/get-access.md) - [Payment Methods](https://developer.paylink.sa/docs/payment-methods.md): Discover the range of supported payment methods for seamless transactions. - [Payment Test Cards](https://developer.paylink.sa/docs/test-cards.md): After completing the API integration, you can utilize the following test cards provided by Paylink for conducting transactions and experiencing the Paylink payment system before transitioning to live transactions. - [Getting started](https://developer.paylink.sa/docs/payment-getting-started.md): This guide provides step-by-step instructions for integrating the payment system into your application. Follow these steps to ensure a seamless setup and payment processing experience. - [1. Environment Setup](https://developer.paylink.sa/docs/environment-setup.md): Before proceeding with the payment integration, it's crucial to set up your environment correctly. Paylink API supports two primary environments: Testing Environment and Production Environment - [2. Authentication](https://developer.paylink.sa/docs/authentication.md): This endpoint is used to authenticate a user or application, providing the necessary access tokens for further interactions with the Paylink API. - [3. Add Invoice](https://developer.paylink.sa/docs/add-invoice.md): This endpoint is used to create a new invoice and obtain a payment URL. The payment URL can be sent to the customer to process the payment. - [4. Get Invoice](https://developer.paylink.sa/docs/get-invoice.md): This endpoint is used to get invoice details identified by the transaction number. It can also be used to check the order status and the paid amount. - [5. Payment Processing](https://developer.paylink.sa/docs/payment-processing.md): This documentation provides detailed instructions for handling payment processing after creating a new invoice using the Add Invoice endpoint. It includes steps for redirecting users to the payment page, managing callback redirections, verifying payment statuses, and handling payment errors. - [Cancel Invoice](https://developer.paylink.sa/docs/cancel-invoice.md): This endpoint enables the cancellation of an existing invoice. It requires the invoice transaction number to cancel it, preventing further payment processing. - [Payment Webhook](https://developer.paylink.sa/docs/payment-webhook.md): Paylink provides a webhook service that notifies merchants when an order is paid. This documentation outlines the setup, structure, and usage of the webhook service. - [Payment Errors Codes](https://developer.paylink.sa/docs/payment-errors-codes.md): This page displays the list of error codes associated with payment processing. These error codes are returned in the "paymentErrors" array within the invoice details in case of payment failure. Each code corresponds to a specific reason for the unsuccessful transaction, aiding in quick identification and resolution of payment issues. - [Direct Payment](https://developer.paylink.sa/docs/add-invoices-direct.md) - [Recurring Payment](https://developer.paylink.sa/docs/recurring-payment.md) - [Overview](https://developer.paylink.sa/docs/partner-overview.md): The Partner Documentation section is dedicated to guiding partners through the integration process with Paylink's API. This section covers essential steps and details for setting up your environment, authenticating partners, registering merchants, retrieving merchant information, and handling activation notifications via webhooks. By following the guidelines provided, partners can efficiently integrate with Paylink, ensuring a seamless experience for both developers and end-users. - [Environment Setup](https://developer.paylink.sa/docs/partner-environment-setup.md): Before proceeding with the partner integration, it's crucial to set up your environment correctly. Paylink API supports two primary environments: Testing Environment and Production Environment - [Partner Authentication](https://developer.paylink.sa/docs/partner-authentication.md): This API endpoint is designed to authenticate partners of PayLink. By invoking this endpoint with the necessary parameters, you can receive an authentication token, which can be used for subsequent requests to other protected resources. - [Create a Sub-Merchant Invoice](https://developer.paylink.sa/docs/partner-adding-a-sub-merchant-invoice.md) - [Merchant Registration (v2)](https://developer.paylink.sa/docs/merchant-registration-v2.md): To register as a merchant with Paylink, the following steps need to be completed: - [Merchant Account Activation Webhook (v2)](https://developer.paylink.sa/docs/5-activation-webhook-v2.md): When a merchant registers with Paylink via the Partner Registration API, they undergo either instance activation or normal activation. This webhook is triggered upon the merchant's activation or rejection by Paylink. - [Get My Merchants](https://developer.paylink.sa/docs/partner-get-my-merchants.md): The Get My Merchants API allows partners to retrieve a list of merchants associated with their account. - [Get Merchant Keys](https://developer.paylink.sa/docs/partner-get-merchant-keys.md): This endpoint allows partners to retrieve API credentials (API ID and Secret Key) for a specific sub-merchant. These credentials are necessary for sub-merchants to interact with Paylink's APIs securely. - [Archive Merchant API](https://developer.paylink.sa/docs/paylink-merchant-archive-api.md): This API endpoint lets you archive a merchant using a specific key, like a mobile number. - [Merchant Registration using Migration](https://developer.paylink.sa/docs/merchant-registration-migrate-data.md): The merchant registration process with Paylink involves several crucial steps to ensure a seamless and secure onboarding experience. Each step is designed to gather and verify essential information about the merchant, facilitating a smooth transition and integration into the Paylink system. - [1. Migrate Merchant Account](https://developer.paylink.sa/docs/api-endpoint-migrate-account.md): This endpoint facilitates the migration of a merchant's account to a new system. The migration process involves transferring various account details, such as registration type, license number, mobile number, and other personal and business information. The endpoint ensures that the account migration is processed securely and accurately.This endpoint migrates an account based on the provided registration migration request. - [2. Verify Mobile OTP](https://developer.paylink.sa/docs/verify-mobile-otp.md): This endpoint verifies the One-Time Password (OTP) sent to the merchant's mobile number during registration. It ensures the provided OTP is valid and matches the session UUID and partner profile number. - [Overview](https://developer.paylink.sa/docs/check-nafath-account.md): The Partner Documentation section is dedicated to guiding partners through the integration process with Paylink's API. This section covers essential steps and details for setting up your environment, authenticating partners, registering merchants, retrieving merchant information, and handling activation notifications via webhooks. By following the guidelines provided, partners can efficiently integrate with Paylink, ensuring a seamless experience for both developers and end-users. - [4. Retry Nafath Request](https://developer.paylink.sa/docs/retry-nafath-request.md): This endpoint retries the Nafath request for a given partner. It uses the provided callback URL and headers to send a retry request for the Nafath process. - [5. Webhook for Nafath](https://developer.paylink.sa/docs/webhook-for-nafath.md): These endpoints handle the registration and submission of additional information for partners. During these processes, a webhook is created to communicate with external services such as Nafath and send notifications and updates about the registration process. - [Retry OTP](https://developer.paylink.sa/docs/retry-otp.md) - [Retrieve Merchant Invoice Themes](https://developer.paylink.sa/docs/retrieve-merchant-invoice-themes.md) - [Update Merchant Invoice Themes](https://developer.paylink.sa/docs/update-merchant-invoice-themes.md) - [Retrieve Default Merchant Invoice Themes](https://developer.paylink.sa/docs/retrieve-default-merchant-invoice-themes.md) - [Create Demo Invoice for Theme Preview](https://developer.paylink.sa/docs/create-demo-invoice-for-theme-preview.md) - [Refund an Order](https://developer.paylink.sa/docs/refund-an-order.md) - [Overview](https://developer.paylink.sa/docs/financial-partner-overview.md) - [Merchant Registration](https://developer.paylink.sa/docs/merchant-registration-1.md) - [Updating Merchant Profile](https://developer.paylink.sa/docs/updating-merchant-profile.md) - [Viewing Merchant Dashboard Metrics](https://developer.paylink.sa/docs/viewing-merchant-dashboard-metrics.md) - [Viewing Balances](https://developer.paylink.sa/docs/viewing-balances.md) - [Viewing Settlements](https://developer.paylink.sa/docs/viewing-settlements.md) - [Creating an Invoice](https://developer.paylink.sa/docs/creating-an-invoice.md) - [Send an Invoice](https://developer.paylink.sa/docs/send-an-invoice.md) - [Viewing Invoices](https://developer.paylink.sa/docs/viewing-invoices.md) - [Viewing Invoice Details](https://developer.paylink.sa/docs/viewing-invoice-details.md) - [Updating an Invoice](https://developer.paylink.sa/docs/updating-an-invoice.md) - [Cancelling an Invoice](https://developer.paylink.sa/docs/deleting-an-invoice.md) - [Viewing Customers](https://developer.paylink.sa/docs/listing-customers.md) - [Viewing Customer Details](https://developer.paylink.sa/docs/viewing-customer-details.md) - [Refund Webhook](https://developer.paylink.sa/docs/post-refund-webhook.md) - [Post Refund Acknowledgment](https://developer.paylink.sa/docs/post-refund-acknowledgment.md) - [Post Payment Acknowledgment](https://developer.paylink.sa/docs/post-payment-acknowledgment.md) - [Validate Subscription](https://developer.paylink.sa/docs/partner-validate-subscription.md) - [Environment Setup](https://developer.paylink.sa/docs/stcpay-environment-setup.md): Before proceeding with STCPay integration, it's crucial to set up your environment correctly. Paylink API supports two primary environments: Testing Environment and Production Environment - [Sending OTP Code](https://developer.paylink.sa/docs/sending-otp-for-stcpay-payment.md): The API endpoint for sending an OTP for STCPay payment. - [Processing Payment](https://developer.paylink.sa/docs/stcpay-process-payment.md): This endpoint allows merchants to validate the OTP and process a payment from a customer's STCPay account. - [Settlement Webhook](https://developer.paylink.sa/docs/settlement-webhook.md): The webhook is triggered after each settlement by Paylink to the merchant. - [Get Reconciled Orders By Order Number](https://developer.paylink.sa/docs/get-orders-by-order-number.md): Allows developers to retrieve details about a specific order in an e-commerce platform, with the order number as the input parameter. This endpoint can be integrated into an invoicing system to allow merchants to view detailed information about an individual order, such as customer details, payment status, and order total. The response from this endpoint will contain a JSON object that includes all the relevant order information. - [Get Orders by Date Range](https://developer.paylink.sa/docs/get-orders-by-date-range.md): This API endpoint allows developers to retrieve a list of orders within a specific date range. The API requires authentication through an access token, and the input parameters are the 'from' and 'to' dates in the format of YYYY-MM-DD. - [Get Orders By Settlement](https://developer.paylink.sa/docs/get-orders-by-settlement.md): Allows developers to retrieve a list of orders based on a settlement number provided as input. This endpoint can be integrated into an e-commerce platform to enable merchants to view all orders settled under a particular settlement number. The response from this endpoint will contain information about each order, such as the order number, customer details, shipping information, and order total. - [Get Transactions of OrderNumber](https://developer.paylink.sa/docs/get-transactions-of-ordernumber.md): Allows developers to retrieve a list of orders based on the order number of the merchant provided as input. This endpoint can be integrated into an e-commerce platform to enable merchants to view all orders settled under a particular settlement number. The response from this endpoint will contain information about each order, such as the order number, customer details, shipping information, and order total. - [WooCommerce Plugin](https://developer.paylink.sa/docs/woocommerce-plugin.md): Integrate a Saudi payment gateway seamlessly into your WooCommerce store with this WordPress Plugin. Easily configure payment settings and test the integration before going live, all in just three simple steps: install the plugin, add your API credentials, and enable live mode. Start accepting payments with ease using this plugin! - [Shopify Plugin](https://developer.paylink.sa/docs/shopify-plugin.md): Integrate a Saudi payment gateway seamlessly into your Shopify store with this Plugin. Easily configure payment settings and test the integration before going live, all in just three simple steps: install the plugin, add your API credentials, and enable live mode. Start accepting payments with ease using this plugin! - [Odoo Module](https://developer.paylink.sa/docs/odoo-module.md): Integrate a Saudi payment gateway seamlessly into your Odoo store with this module. Easily configure payment settings and test the integration before going live, all in just three simple steps: install the module, add your API credentials, and enable live mode. Start accepting payments with ease using this plugin! - [OpenCart Plugin](https://developer.paylink.sa/docs/opencart-plugin.md): Integrate a Saudi payment gateway seamlessly into your OpenCart store with this Plugin. Easily configure payment settings and test the integration before going live, all in just three simple steps: install the plugin, add your API credentials, and enable live mode. Start accepting payments with ease using this plugin! - [ExpandCart Plugin](https://developer.paylink.sa/docs/expandcart-plugin.md): Integrate a Saudi payment gateway seamlessly into your ExpandCart store with this Plugin. Easily configure payment settings and test the integration before going live, all in just three simple steps: install the plugin, add your API credentials, and enable live mode. Start accepting payments with ease using this plugin! - [PHP Package](https://developer.paylink.sa/docs/php-package.md): This package enables seamless integration with the Paylink payment gateway within PHP applications. and provides convenient methods to interact with the Paylink API, facilitating payment processing and related functionalities. - [Laravel Package](https://developer.paylink.sa/docs/laravel-package.md): This package enables seamless integration with the Paylink payment gateway within Laravel applications. and provides convenient methods to interact with the Paylink API, facilitating payment processing and related functionalities. - [Python Package](https://developer.paylink.sa/docs/python-package.md): This package is ideal for Python developers looking to integrate Paylink's payment processing capabilities into their applications with minimal effort. It provides functionality to add and retrieve invoices. - [Flutter Package](https://developer.paylink.sa/docs/flutter-package.md): Flutter Package designed to simplify the integration of Paylink's payment gateway into Flutter applications. It provides a streamlined way to handle payments within your Flutter app. - [iOS Package](https://developer.paylink.sa/docs/ios-package.md): PLPaymentGateway SDK: Seamlessly integrate with our payment gateway service. Generate invoice URLs and handle authentication with ease. Simplify payment processing in your iOS apps. - [Android Package](https://developer.paylink.sa/docs/android-package.md) - [SDK Initialization](https://developer.paylink.sa/docs/javascript-sdk-initialization.md): This JavaScript SDK allows seamless integration of our payment gateway with various platforms, including Apple Pay, STC Pay, and websites. Before using any specific payment option, you must initialize the SDK by following the steps below. This ensures your integration is set up correctly and ready to process payments. - [JS & Web Embedded Form](https://developer.paylink.sa/docs/javascript-web-embedded-form.md): Use this library to integrate Paylink payments into your app and grow your business with Paylink APIs to proceed with easy Payment and generate customer invoices. - [JS & Apple Pay](https://developer.paylink.sa/docs/javascript-apple-pay.md): Use this library to integrate Paylink payments into your app and grow your business with Paylink APIs to proceed with easy Payment and generate customer invoices. - [JS & STC Pay](https://developer.paylink.sa/docs/javascript-sdk-stc-pay.md): Use this library to integrate Paylink payments into your app and grow your business with Paylink APIs to proceed with easy payment and generate customer invoices.