# BillDesk Documentation > Documentation for BillDesk ## Guides - [Quick Overview](https://docs.billdesk.io/docs/guide-to-the-billdesk-documentation-portal.md): BillDesk documentation portal has been segmented into 3 sections for merchant's convenience. - [Account Creation](https://docs.billdesk.io/docs/get-started.md) - [Idempotency](https://docs.billdesk.io/docs/idempotency-guide.md) - [Neo – Full Redirect](https://docs.billdesk.io/docs/neo-full-redirect.md) - [Ace – SDK](https://docs.billdesk.io/docs/ace-sdk.md) - [BillDesk Android SDK](https://docs.billdesk.io/docs/billdesk-android-sdk-doc.md) - [BillDesk iOS SDK](https://docs.billdesk.io/docs/billdesk-ios-sdk-doc.md) - [Decoupled Authentication & Authorization](https://docs.billdesk.io/docs/decoupled-authentication-authorization.md) - [Flutter SDK](https://docs.billdesk.io/docs/billdesk-flutter-sdk.md) - [Payment Links](https://docs.billdesk.io/docs/payment-links.md) - [Tokenisation](https://docs.billdesk.io/docs/tokenization.md) - [Penny Drop](https://docs.billdesk.io/docs/penny-drop.md) - [Account Validation Service](https://docs.billdesk.io/docs/avs.md) - [Neo – Full Redirect](https://docs.billdesk.io/docs/neo-full-redirect-mandate.md) - [Ace – SDK](https://docs.billdesk.io/docs/ace-sdk-mandates.md) - [Decoupled Recurring Authentication & Authorization](https://docs.billdesk.io/docs/decoupled-recurring-authentication-authorization.md) - [Flutter SDK](https://docs.billdesk.io/docs/flutter-sdk-mandate.md) - [Edit Mandate - Neo – Full Redirect](https://docs.billdesk.io/docs/mandate-neo-full-redirect.md) - [WhatsApp Payments](https://docs.billdesk.io/docs/whatsapp-payments.md) - [EDD](https://docs.billdesk.io/docs/edd.md) - [OpenCart 3.0](https://docs.billdesk.io/docs/opencart-3.md) - [OpenCart 4.0](https://docs.billdesk.io/docs/opencart-4.md) - [Products & Features](https://docs.billdesk.io/docs/product-faqs.md) - [Onboarding & KYC](https://docs.billdesk.io/docs/onboarding-faqs.md) - [Integration](https://docs.billdesk.io/docs/integration-faqs.md) - [Payments](https://docs.billdesk.io/docs/payments-faqs.md) - [Glossary](https://docs.billdesk.io/docs/glossary.md) - [Webhooks & LCM Notifications](https://docs.billdesk.io/docs/webhooks-lcm-notifications.md) - [Handling UPI Intent in WebView](https://docs.billdesk.io/docs/upi-intent-in-webview.md) - [Change Log](https://docs.billdesk.io/docs/change-log.md) ## API Reference - [Authentication and Endpoints](https://docs.billdesk.io/reference/authentications-and-endpoints.md) - [Idempotency](https://docs.billdesk.io/reference/idempotency.md) - [Handling Errors](https://docs.billdesk.io/reference/handling-errors.md) - [Create Order](https://docs.billdesk.io/reference/createorder.md): This API can be used to initiate a payment or to set up a mandate along with a payment in the BillDesk Hosted Payment Page or BillDesk Web SDK workflow - [Create Mandate Token](https://docs.billdesk.io/reference/createmandatetoken.md): This API is used to initate the process to Create a Mandate and is applicable for BillDesk Hosted Payments Page and BillDesk Web SDK workflows - [Modify Mandate Token](https://docs.billdesk.io/reference/modify-mandate-token.md): This API is used to either modify certain attributes of an existing mandate or delete a mandate - [Create Transaction](https://docs.billdesk.io/reference/createtransaction.md): This endpoint creates a new transaction to initiate a charge using a payment method. - [Update Transaction](https://docs.billdesk.io/reference/updatetransaction.md): This endpoint authorizes an existing transaction. - [Retrieve Transaction](https://docs.billdesk.io/reference/post-payments-v1_2-transactions-get.md): Merchant can retrieve the transaction either by using mercid and orderid or the mercid and the transactionid. - [Create Refund](https://docs.billdesk.io/reference/createrefund.md): A refund can be initiated for a transaction using the Create Refund API. Multiple refund requests can be initiated against the same transactionid such that the sum of the refund amounts do not exceed the transaction amount. - [Retrieve Refund](https://docs.billdesk.io/reference/retrieverefund.md): Merchant can retrieve refund details either by using mercid and merc_refund_ref_no, or the mercid and refundid. - [Create Mandate](https://docs.billdesk.io/reference/createmandate.md): A mandate can be created by providing the details of the subscription and the associated payment method. To create a mandate using a payment method, a ‘small-value’ authorization has to be completed for payment_method_type = card and upi. Mandates can be created using the card, upi or bankaccount (ie enach) as the payment method. - [Update Mandate](https://docs.billdesk.io/reference/updatemandate.md): This API is used to carry out a ‘small value’ authorization using the payment method linked to the mandate, and is applicable for the card payment method. - [Retrieve Mandate](https://docs.billdesk.io/reference/retrievemandate.md): Retrieve details of a single mandate as per the mandateid. - [List Mandates](https://docs.billdesk.io/reference/listmandates.md): All mandates created for a customer or for created date range [not exceeding 7 days] can be listed through this API. - [Modify Mandate](https://docs.billdesk.io/reference/modifymandate.md): List of attributes that can be modified depend upon the payment method type. An AFA using the payment method linked with the mandate is required to modify one or more of the attributes. - [Delete Mandate](https://docs.billdesk.io/reference/deletemandate.md): This API allows the merchant to delete the mandate using the mandateid. Through this action, the mandate set to a ‘deleted’ status at the issuer. Some card networks (RuPay, Amex) require the customer to complete an additional AFA using the payment method linked with the mandate to approve the deletion process. - [Create Invoice](https://docs.billdesk.io/reference/createinvoice.md): An invoice represents the billed amount that needs to be collected from the customer for a subscription. This API can be used to create an invoice with the specific reference of the underlying mandateid. The invoice details are sent to the customer as a pre-debit notification for the card and upi payment methods, as required by regulatory guidelines. For UPI, pre-debit-notifications are sent by bank via (sms, email) To ensure that the pre-debit notification is received by the customer atleast 24 hours prior to the recurring charge (regulatory requirement), it is recommended that the invoice request is initiated 36 hrs prior to the recurring charge request. If the recurring charge debit amount is higher than the permissible limit (as per regulations), the customer requires to provide an additional AFA for processing the recurring charge. This is not applicable for upi mandates - [Retrieve Invoice](https://docs.billdesk.io/reference/retriveinvoice.md): Merchants can retrieve invoice details by using mercid and invoice_number - [Retrieve Settlement](https://docs.billdesk.io/reference/retrieve-settlement.md): You can fetch the list of settlements created within a specific time period range using this API. - [Create Link](https://docs.billdesk.io/reference/create-link.md): This API will be used to create a link for the customer to make a payment and the merchant can choose the medium for dissemination of the link- Email, SMS or both. - [Retrieve Link](https://docs.billdesk.io/reference/retrieve-link.md): This API can be used to fetch the status of an existing payment link - [Resend Link](https://docs.billdesk.io/reference/resend-link.md): This API can be used to resend notifications to customer for their previously created link - [Delete Link](https://docs.billdesk.io/reference/delete-link.md): This API can be used to delete a previously created payment link - [Create Card Account](https://docs.billdesk.io/reference/createcardaccount.md): A card account (or card token) can be created by providing the card details and a customer reference. The API will provide a cardaccount object as a response, with a unique cardaccountid, that can be used to initiate a transaction. - [Retrieve Card Account](https://docs.billdesk.io/reference/retrievecardaccount.md): Retrieve details of a cardaccount either by using the mercid and cardaccountid or the mercid, orderid and customer_refid as inputs. - [List Card Account](https://docs.billdesk.io/reference/listcardaccount.md): This API will fetch the list of cardaccounts created for a customer_refid. - [Delete Card Account](https://docs.billdesk.io/reference/deletecardaccount.md): This API can be used to delete a card account by providing the mercid and cardaccountid or the mercid, customer_refid and cardaccountid. - [Fetch AltID](https://docs.billdesk.io/reference/retrievealtid.md): This API is used to retrieve the AltID value from network - [Create Authentication](https://docs.billdesk.io/reference/createauthentication.md): This endpoint creates a new authentication request to initiate a charge using a payment method. - [Validate Authentication](https://docs.billdesk.io/reference/validateauthentication.md) - [Retrieve Authentication](https://docs.billdesk.io/reference/retrieveauthentication.md): This endpoint retrieves the details of a particular authentication using either of `mercid` and `orderid` or `transactionid`. - [Penny Drop](https://docs.billdesk.io/reference/pennydrop.md): This API facilitates account validation with pennydrop - [Validate VPA](https://docs.billdesk.io/reference/validatvpa.md): This API can be used to verify the VPA (Virtual Payment Address) for the upi payment method.