openapi: 3.2.0 info: title: Recurring Mandate API description: 'This explorer allows merchants to evaluate APIs that are available in the BillDesk Payment Gateway API suite. - Only HMAC authentication is supported. - All APIs are RESTful and resource oriented. - Servers listed are applicable for the API explorer only.' contact: name: API Support url: https://www.billdesk.com/helpcenter.htm email: support@billdesk.com version: '2.5' servers: - url: https://uat1.billdesk.com/u2 description: UAT server - url: https://api.billdesk.com description: PROD server tags: - name: Mandate paths: /pgsi/ve1_2/mandates/create: post: summary: Create Mandate operationId: createMandate responses: '200': description: OK content: application/json: schema: type: object x-examples: Example 1: objectid: mandate mandateid: MA19E400049927 mercid: BDMERCID customer_refid: CSREF00001 subscription_refid: SCREF00001 subscription_desc: Unlimited Plan start_date: '2021-05-08' end_date: '2059-12-31' amount: '899.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2021-05-08T16:03:39+05:30' payment_method_type: card ru: https://www.merchanturl.com/response.jsp card: paymentaccountid: PA1CE000033241 masked_value: xxxxxxxxxxxx1234 holder_name: John Doe verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful next_step: 3ds2_challenge links: - href: https://www.issuerurl.com/page rel: redirect method: post parameters: valid_till: '2023-02-16T11:43:28+05:30' creq: 5a7e8901aa256b4f5012355dc4b12f7bb474be6d7f09232639220163cfb1eb7e36ac8594c92379254.70675f706172616d5f656e6333 properties: objectid: $ref: '#/components/schemas/Objectid' mercid: $ref: '#/components/schemas/Mercid' mandateid: $ref: '#/components/schemas/Mandateid' customer_refid: $ref: '#/components/schemas/Customer_refid' subscription_refid: $ref: '#/components/schemas/Subscription_refid' subscription_desc: $ref: '#/components/schemas/Subscription_refid' start_date: $ref: '#/components/schemas/Start_date' end_date: $ref: '#/components/schemas/End_date' amount: $ref: '#/components/schemas/Subscription_amount' amount_type: $ref: '#/components/schemas/Amount_type' currency: $ref: '#/components/schemas/Currency' frequency: $ref: '#/components/schemas/Frequency' status: $ref: '#/components/schemas/Subscription_status' createdon: $ref: '#/components/schemas/Createdon' payment_method_type: $ref: '#/components/schemas/Payment_method_type_subscriptions' ru: $ref: '#/components/schemas/Ru' card: $ref: '#/components/schemas/Card-Response' verification_error_code: $ref: '#/components/schemas/Error_code' verification_error_type: $ref: '#/components/schemas/Error_type' verification_error_desc: $ref: '#/components/schemas/Error_desc' next_step: $ref: '#/components/schemas/Next_step' links: $ref: '#/components/schemas/Links' additional_info: $ref: '#/components/schemas/Additional-Info' customer: $ref: '#/components/schemas/Customer' qrImage: type: string intent: type: string bank_umrn: $ref: '#/components/schemas/Bank_umrn' bank_rrn: type: string valid_date: $ref: '#/components/schemas/Valid_date' customer_message: $ref: '#/components/schemas/Customer_message' avs: $ref: '#/components/schemas/Avs-response' examples: Card - Frictionless Flow: value: objectid: mandate mandateid: MA199000042326 mercid: BDMERCID customer_refid: CUREF01112020001 subscription_refid: SUBS01112020001 subscription_desc: Unlimited Plan start_date: '2020-11-03' end_date: '2021-10-10' amount: '500.00' amount_type: maximum currency: '356' frequency: adho status: active createdon: '2020-11-03T21:34:41+05:30' payment_method_type: card ru: https://www.merchanturl.com/response.jsp card: paymentaccountid: PA1AD700025938 masked_value: xxxxxxxxxxxx1234 holder_name: John Doe customer: first_name: John last_name: Doe email: john.doe@somedomain.com email_alt: john.doe@somedomain.com mobile: '9800000000' mobile_alt: '9800000000' verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful Card - Challenge Flow: value: objectid: mandate mandateid: MA19E400049927 mercid: BDMERCID customer_refid: CSREF00001 subscription_refid: SCREF00001 subscription_desc: Unlimited Plan start_date: '2021-05-08' end_date: '2059-12-31' amount: '899.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2021-05-08T16:03:39+05:30' payment_method_type: card ru: https://www.merchanturl.com/response.jsp card: paymentaccountid: PA1CE000033241 masked_value: xxxxxxxxxxxx1234 holder_name: John Doe verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful next_step: 3ds2_challenge links: - href: https://www.issuerurl.com/page rel: redirect method: post parameters: valid_till: '2023-02-16T11:43:28+05:30' creq: 5a7e8901aa256b4f5012355dc4b12f7bb474be6d7f09232639220163cfb1eb7e36ac8594c92379254.70675f706172616d5f656e6333 Card - Rupay Redirect Flow: value: objectid: mandate mandateid: MA19E400049927 mercid: BDMERCID customer_refid: CSREF00001 subscription_refid: SCREF00001 subscription_desc: Unlimited Plan start_date: '2021-05-08' end_date: '2059-12-31' amount: '899.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2021-05-08T16:03:39+05:30' payment_method_type: card ru: https://www.merchanturl.com/response.jsp card: paymentaccountid: PA1CE000033241 masked_value: xxxxxxxxxxxx1234 holder_name: John Doe verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful next_step: redirect links: - href: https://wwww.issuerurl.com/ rel: redirect method: POST parameters: AccuCardholderId: TEST1091569481988nW0zT6fB AccuReturnURL: https://www.someurl.com/response.jsp session: X4560639244491 AccuGuid: 123456-5c82-4fbf-aa5c-123456 TermUrl: https://www.someurl.com/Response/ AccuRequestId: NTNlMWMwNjgzZjkyMzEwMGEA== cardend: '1234' Card - Rupay OTP Flow: value: objectid: mandate mandateid: MA19E400049927 mercid: BDMERCID customer_refid: CSREF00001 subscription_refid: SCREF00001 subscription_desc: Unlimited Plan start_date: '2021-05-08' end_date: '2059-12-31' amount: '899.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2021-05-08T16:03:39+05:30' payment_method_type: card ru: https://www.merchanturl.com/response.jsp card: paymentaccountid: PA1CE000033241 masked_value: xxxxxxxxxxxx1234 holder_name: John Doe verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful next_step: capture_otp customer_message: Please enter OTP sent to your mobile UPI- Collect Flow: value: objectid: mandate mandateid: MA148E00125263 mercid: BDMERCID customer_refid: MAN5128783210 subscription_refid: SRID5128783210 subscription_desc: Monthy Subscription start_date: '2023-12-06' end_date: '2050-12-31' amount: '10.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2023-12-06T09:55:40+05:30' payment_method_type: upi ru: https://www.merchant.com upi: paymentaccountid: PA03C800104077 vpa: billdesk@upi psp: upi customer: {} verification_error_code: MNP0000 verification_error_type: pending verification_error_desc: Mandate Pending next_step: approve_collect_request recurrence_rule: after debit_day: '1' UPI - QR Flow: value: objectid: mandate mandateid: MN243587721170 mercid: BDMERCID customer_refid: TEST0000DSS0DSA2D subscription_refid: CTEST0SD0DDS0AS00D2 subscription_desc: Monthly Plan start_date: '2023-03-23' end_date: '2099-10-31' amount: '199.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2023-03-19T23:44:43+05:30' payment_method_type: upi upi: paymentaccountid: PA146A85580286 customer: first_name: John last_name: Doe email: john.doe@somedomain.com email_alt: john.doe@somedomain.com mobile: '9800000000' mobile_alt: '9800000000' verification_error_code: MNP0000 verification_error_type: pending verification_error_desc: Mandate Pending next_step: approve_qr_request recurrence_rule: after debit_day: '1' qrImage: iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAADrUlEQVR4Xu3WMdatJhAAYGh0C9rA1qTBLUgD2ugWoMGtQQNbgAbfeJOT68sJkSapfsr57uEiDMOgqzbQ3wN/jR/5kXv8yH8iDik9W74Iv89+s6hvkFjYESQ+CxfrmIOKDRK6RS5qF27pcOJ8mpuE47U38dwl4QNplIVj4yshvkb99TE4f4c UPI - Intent Flow: value: objectid: mandate mandateid: MN143B87721716 mercid: BDMERCID customer_refid: TEST0000DSS0DSA2D subscription_refid: CTEST0SD0DDS0AS00D2 subscription_desc: Monthly Plan start_date: '2023-03-23' end_date: '2099-10-31' amount: '199.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2023-03-19T23:48:04+05:30' payment_method_type: upi upi: paymentaccountid: PA0DE785580826 customer: first_name: John last_name: Doe email: john.doe@somedomain.com email_alt: john.doe@somedomain.com mobile: '9800000000' mobile_alt: '9800000000' verification_error_code: MNP0000 verification_error_type: pending verification_error_desc: Mandate Pending next_step: approve_intent_request recurrence_rule: after debit_day: '1' intent: dXBpOi8vbWFuZGF0ZT9wYT1iZHNpLnBheW1lbnRzQGljaWNpJnBuPVRFU1RJTkcmbW49JnRpZD0mdHlwZSZ2YWxpZGl0eXN0YXJ0PTIzMDMyMDIzJnZhbGlkaXR5ZW5kPTMxMTAyMDk5JmFtPTE5OS4wMCZtYW09MTk5LjAwJmFtcnVsZT1NQVgmcmVjdXI9QVNQUkVTRU5URUQmcmVjdXJ2YWx1ZT0xJnJlY3VydHlwZT1BRlRFUiZ0cj1FWk0yMDIzMDMxOTIzNDgwNDg1MjE4ODM2JnVybD0mY2F0YWdvcnk9JmN1PUlOUiZtYz03Mzk5JnRuPU1hbmRhdGUmbW9kZT0xMyZwdXJwb3NlPTE0JnJldj1ZJnNoYXJlPVkmUVJleHBpcmU9JlFSdHM9JmJsb2NrPSZ1bW49JnNpZ249Jm9yZ2lkPTAwMDAwMCZ2ZXJzaW9uPSZ0eG50eXBlPUNSRUFURSZxdWVyeT0= enach- bankaccount flow: value: objectid: mandate mandateid: MN0B8F140464270 mercid: BDMERCID verification_type: enach_nb customer_refid: test_01 subscription_refid: test_01 subscription_desc: '100000001' start_date: '2023-12-07' end_date: '2033-10-12' amount: '5.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2023-12-07T15:46:58+05:30' payment_method_type: bankaccount ru: https://www.billdesk.com additional_info: {} customer: first_name: Manan last_name: Mehta email: john.doe@somedomain.com email_alt: john.doe@somedomain.com mobile: '9920101991' mobile_alt: '9920101991' bankaccount: type: savings masked_value: xxxxxxxx3314 holder_name: Manan Mehta bank_id: '162' links: - href: https://www.issuerurl.com rel: redirect method: POST parameters: MandateReqDoc: '123' MerchantID: NACH00000000022163 CheckSumVal: mAkC8IecxBlSFXx BankID: KKBK SPID: NACH00000000022163_17 AuthMode: NETBANKING uniqueID: MN0B8F140464270 valid_date: '2023-12-07T16:16:58+05:30' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Forbidden: $ref: '#/components/examples/403-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Internal Server Error: $ref: '#/components/examples/500-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose default: description: Any bad or invalid request will lead to following error object content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Invalid merchant config: $ref: '#/components/examples/422-Invalid-merchant-config' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose description: '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.' parameters: - $ref: '#/components/parameters/bdTraceId' - $ref: '#/components/parameters/bdTimeStamp' - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/Accept' requestBody: content: application/json: schema: type: object x-examples: Example 1: mercid: BDMERCID customer_refid: CSREF00001 subscription_refid: SCREF00001 subscription_desc: Unlimited Plan start_date: '2021-05-08' end_date: '2059-12-31' amount: '899.00' amount_type: maximum authentication_type: 3ds2 3ds_parameter: merchant payment_method_type: card card: number: '4242420000001234' expiry_month: '12' expiry_year: '2029' holder_name: John Doe cvv: '123' currency: '356' frequency: adho device: init_channel: internet ip: 124.124.1.2 mac: 11-AC-58-21-1B-AA imei: '990000112233445' user_agent: 'Mozilla/5.0(WindowsNT10.0;WOW64;rv: 51.0)Gecko/20100101Firefox/51.0' fingerprintid: 61b12c18b5d0cf901be34a23ca64bb19 accept_header: application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 browser_tz: '-330' browser_color_depth: '32' browser_java_enabled: 'false' browser_screen_height: '601' browser_screen_width: '657' browser_language: en-US browser_javascript_enabled: 'true' ru: https://www.merchanturl.com/response.jsp properties: mercid: $ref: '#/components/schemas/Mercid' customer_refid: $ref: '#/components/schemas/Customer_refid' subscription_refid: $ref: '#/components/schemas/Subscription_refid' subscription_desc: $ref: '#/components/schemas/Subscription_desc' start_date: $ref: '#/components/schemas/Start_date' end_date: $ref: '#/components/schemas/End_date' amount: $ref: '#/components/schemas/Subscription_amount' amount_type: $ref: '#/components/schemas/Amount_type' authentication_type: $ref: '#/components/schemas/Authentication_type' 3ds_parameter: $ref: '#/components/schemas/3ds_parameter' payment_method_type: $ref: '#/components/schemas/Payment_method_type_subscriptions' verification_required: $ref: '#/components/schemas/Verification_required' verification_type: $ref: '#/components/schemas/Verification_type' ru: $ref: '#/components/schemas/Ru' currency: $ref: '#/components/schemas/Currency' frequency: $ref: '#/components/schemas/Frequency' recurrence_rule: $ref: '#/components/schemas/Recurrence_rule' debit_day: $ref: '#/components/schemas/Debit_day' device: $ref: '#/components/schemas/Device' card: oneOf: - $ref: '#/components/schemas/Pay-using-card-number-pan' - $ref: '#/components/schemas/Pay-using-network-token' - $ref: '#/components/schemas/Pay-using-issuer-token' - $ref: '#/components/schemas/Pay-using-card-account-id' - $ref: '#/components/schemas/Pay-using-altid' bankaccount: $ref: '#/components/schemas/Bankaccount' upi: $ref: '#/components/schemas/Upi' avs: $ref: '#/components/schemas/Avs-request' customer: $ref: '#/components/schemas/Customer' additional_info: $ref: '#/components/schemas/Additional-Info' required: - mercid - customer_refid - subscription_refid - subscription_desc - start_date - end_date - amount - amount_type - authentication_type - 3ds_parameter - payment_method_type - ru - currency - frequency - device examples: Mandate Creation Card - Using PAN: value: mercid: BDMERCID customer_refid: CSREF00001 subscription_refid: SCREF00001 subscription_desc: Unlimited Plan start_date: '2021-05-08' end_date: '2059-12-31' amount: '899.00' amount_type: maximum authentication_type: 3ds2 3ds_parameter: merchant payment_method_type: card card: number: '4242420000001234' expiry_month: '12' expiry_year: '2029' holder_name: John Doe cvv: '123' currency: '356' frequency: adho device: init_channel: internet ip: 124.124.1.2 user_agent: 'Mozilla/5.0(WindowsNT10.0;WOW64;rv: 51.0)Gecko/20100101Firefox/51.0' accept_header: application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 browser_tz: '-330' browser_color_depth: '32' browser_java_enabled: 'false' browser_screen_height: '601' browser_screen_width: '657' browser_language: en-US browser_javascript_enabled: 'true' ru: https://www.merchanturl.com/response.jsp Mandate Creation UPI - Using VPA: value: mercid: BDMERCID customer_refid: CSREFUP00001 subscription_refid: SCREFUP00001 subscription_desc: Unlimited Plan start_date: '2021-05-16' end_date: '2029-12-31' amount: '699.00' amount_type: maximum debit_day: '6' recurrence_rule: 'on' payment_method_type: upi upi: vpa: testvpa@abc currency: '356' frequency: adho customer: first_name: John last_name: Doe mobile: '9800000000' mobile_alt: '9800000000' email: john.doe@somedomain.com email_alt: john.doe@somedomain.com device: init_channel: internet ip: 124.124.1.2 user_agent: 'Mozilla/5.0(WindowsNT10.0;WOW64;rv: 51.0)Gecko/20100101Firefox/51.0' accept_header: application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Mandate Creation UPI - Using QR image: value: mercid: BDMERCID customer_refid: TEST0000DSS0DSA2D subscription_refid: CTEST0SD0DDS0AS002 subscription_desc: Monthly Plan start_date: '2023-03-23' end_date: '2099-10-31' amount: '199.00' amount_type: maximum debit_day: '1' recurrence_rule: after payment_method_type: upi txn_process_type: qr currency: '356' frequency: adho customer: first_name: John last_name: Doe mobile: '9800000000' mobile_alt: '9800000000' email: john.doe@somedomain.com email_alt: john.doe@somedomain.com device: init_channel: internet ip: 124.124.1.2 user_agent: 'Mozilla/5.0(WindowsNT10.0;WOW64;rv: 51.0)Gecko/20100101Firefox/51.0' accept_header: application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Mandate Creation UPI - Using UPI intent: value: mercid: BDMERCID customer_refid: TEST0000DSS0DSA2D subscription_refid: CTEST0SD0DDS0AS00D2 subscription_desc: Monthly Plan start_date: '2023-03-23' end_date: '2099-10-31' amount: '199.00' amount_type: maximum debit_day: '1' recurrence_rule: after payment_method_type: upi txn_process_type: intent currency: '356' frequency: adho customer: first_name: John last_name: Doe mobile: '9800000000' mobile_alt: '9800000000' email: john.doe@somedomain.com email_alt: john.doe@somedomain.com device: init_channel: internet ip: 124.124.1.2 user_agent: 'Mozilla/5.0(WindowsNT10.0;WOW64;rv: 51.0)Gecko/20100101Firefox/51.0' accept_header: application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Mandate Creation Enach- Using bankaccount: value: mercid: BDMERCID authentication_type: 3ds2 3ds_parameter: merchant verification_required: 'true' verification_type: enach_nb customer_refid: test_01 subscription_refid: test_01 subscription_desc: '100000001' start_date: '2023-12-07' end_date: '2033-10-12' amount: '5.00' amount_type: max payment_method_type: bankaccount bankaccount: type: savings number: '5345201234' holder_name: John Doe dest_bank_id: '123' currency: '356' frequency: adho customer: first_name: John last_name: Doe mobile: '9920109999' mobile_alt: '9920109999' email: john.doe@somedomain.com email_alt: john.doe@somedomain.com device: init_channel: internet ip: 124.124.1.1 browser_ip: 172.168.10.2 user_agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 accept_header: ',application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' browser_tz: '-330' browser_color_depth: '32' browser_java_enabled: 'false' browser_screen_height: '601' browser_screen_width: '657' browser_language: en-US browser_user_agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 browser_javascript_enabled: 'true' ru: https://www.merchantru.com description: '' tags: - Mandate /pgsi/ve1_2/mandates/delete: post: summary: Delete Mandate operationId: deleteMandate responses: '200': description: OK content: application/json: schema: type: object x-examples: Example 1: objectid: mandate transactionid: MT135200016116 mandateid: MA148E00125263 mercid: BDMONITOR customer_refid: MAN5128783210 subscription_refid: SRID5128783210 subscription_desc: Monthy Subscription start_date: '2023-12-06' end_date: '2050-12-31' amount: '10.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2023-12-06T10:36:17+05:30' deletedon: '2023-12-06T10:36:17+05:30' payment_method_type: upi ru: https://www.merchant.com additional_info: additional_info1: Details1 additional_info2: Details2 upi: paymentaccountid: PA03C800104077 vpa: billdesk@upi psp: upi customer: {} verification_error_code: MNP0000 verification_error_type: pending verification_error_desc: Mandate Pending next_step: approve_collect_request recurrence_rule: after debit_day: '1' properties: objectid: $ref: '#/components/schemas/Objectid' transactionid: $ref: '#/components/schemas/Transactionid' mandateid: $ref: '#/components/schemas/Mandateid' mercid: $ref: '#/components/schemas/Mercid' customer_refid: $ref: '#/components/schemas/Customer_refid' subscription_refid: $ref: '#/components/schemas/Subscription_refid' subscription_desc: $ref: '#/components/schemas/Subscription_desc' start_date: $ref: '#/components/schemas/Start_date' end_date: $ref: '#/components/schemas/End_date' amount: $ref: '#/components/schemas/Amount' amount_type: $ref: '#/components/schemas/Amount_type' currency: $ref: '#/components/schemas/Currency' frequency: $ref: '#/components/schemas/Frequency' status: $ref: '#/components/schemas/Subscription_status' createdon: $ref: '#/components/schemas/Createdon' deletedon: $ref: '#/components/schemas/Deletedon' payment_method_type: $ref: '#/components/schemas/Payment_method_type_subscriptions' ru: $ref: '#/components/schemas/Ru' upi: type: object properties: paymentaccountid: type: string vpa: type: string psp: type: string customer: $ref: '#/components/schemas/Customer' verification_error_code: $ref: '#/components/schemas/Error_code' verification_error_type: $ref: '#/components/schemas/Error_type' verification_error_desc: $ref: '#/components/schemas/Error_desc' next_step: $ref: '#/components/schemas/Next_step' recurrence_rule: $ref: '#/components/schemas/Recurrence_rule' debit_day: $ref: '#/components/schemas/Debit_day' additional_info: $ref: '#/components/schemas/Additional-Info' card: $ref: '#/components/schemas/Card-Response' examples: Card: value: objectid: mandate transactionid: MT01770001611A mandateid: MA1C7F0012527A mercid: BDMERCID customer_refid: MAN424297189A subscription_refid: SRID4242971899A subscription_desc: Monthy Subscription start_date: '2023-12-06' end_date: '2050-12-31' amount: '10.00' amount_type: maximum currency: '356' frequency: adho status: deleted createdon: '2023-12-06T10:39:57+05:30' deletedon: '2023-12-06T10:39:57+05:30' payment_method_type: card ru: https://www.merchant.com card: paymentaccountid: PA1E5A00104088 masked_value: xxxxxxxxxxxx0002 holder_name: TEST type: CREDIT card_end: '0002' network: VISA issuer: SBI cardaccountid: CA0D713E000000009162 customer: {} verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful UPI: value: objectid: mandate transactionid: MT13520001611A mandateid: MA148E0012526A mercid: BDMERCID customer_refid: MAN512878321A subscription_refid: SRID512878321A subscription_desc: Monthy Subscription start_date: '2023-12-06' end_date: '2050-12-31' amount: '10.00' amount_type: maximum currency: '356' frequency: adho status: pending createdon: '2023-12-06T10:36:17+05:30' deletedon: '2023-12-06T10:36:17+05:30' payment_method_type: upi ru: https://www.merchant.com upi: paymentaccountid: PA03C800104077 vpa: billdesk@upi psp: upi customer: {} verification_error_code: MNP0000 verification_error_type: pending verification_error_desc: Mandate Pending next_step: approve_collect_request recurrence_rule: after debit_day: '1' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Forbidden: $ref: '#/components/examples/403-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Internal Server Error: $ref: '#/components/examples/500-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose default: description: Any bad or invalid request will lead to following error object content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Invalid merchant config: $ref: '#/components/examples/422-Invalid-merchant-config' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose description: '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.' parameters: - $ref: '#/components/parameters/bdTraceId' - $ref: '#/components/parameters/bdTimeStamp' - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/Accept' requestBody: content: application/json: schema: type: object x-examples: Example 1: mercid: BDMERCID mandateid: MA239C00049928 payment_method_type: card properties: mercid: $ref: '#/components/schemas/Mercid' mandateid: $ref: '#/components/schemas/Mandateid' payment_method_type: $ref: '#/components/schemas/Payment_method_type_subscriptions' required: - mercid - mandateid - payment_method_type examples: Card: value: mercid: BDMERCID mandateid: MA239C00049928 payment_method_type: card UPI: value: mercid: BDMONITOR payment_method_type: upi upi: vpa: billdesk@upi mandateid: MA148E00125263 tags: - Mandate /pgsi/ve1_2/mandates/get: post: summary: Retrieve Mandate operationId: retrieveMandate responses: '200': description: OK content: application/json: schema: type: object x-examples: Example 1: objectid: mandate mandateid: MA199000042326 mercid: BDMERCID customer_refid: CUREF01112020001 subscription_refid: SUBS01112020001 subscription_desc: Unlimited Plan start_date: '2020-11-03' end_date: '2021-10-10' amount: '500.00' amount_type: maximum currency: '356' frequency: adho status: active createdon: '2020-11-03T21:34:41+05:30' payment_method_type: card card: objectid: card masked_value: xxxxxxxxxxxx6633 type: CREDIT card_end: '6633' network: VISA issuer: RBL Bank cardaccountid: CA07BBAA000012341234 coft_consent: 'true' cardaccount: objectid: cardaccount mercid: BDMERCID customer_refid: CUSREF00000001 cardaccountid: CA07D151000000001234 orderid: ODR000000001 masked_value: xxxxxxxxxxxx1234 holder_name: John Doe issuer: ABC Bank network: VISA status: ACTIVE coft_consent: 'true' createdon: '2022-03-20T21:53:50+05:30' network_token: token_ref_no: 1fa3dbc43247ac3092971d3f8f4e658f status: ACTIVE createdon: '2022-03-20T21:53:50+05:30' token_expiry_month: '12' token_expiry_year: '2030' ru: https://www.merchanturl.com/response.jsp additional_info: additional_info1: Details1 additional_info2: Details2 additional_info3: Details3 additional_info4: Details4 additional_info5: Details5 additional_info6: Details6 additional_info7: Details7 additional_info8: Details8 additional_info9: Details9 additional_info10: Details10 customer: first_name: John last_name: Doe email: john.doe@somedomain.com email_alt: john.doe@somedomain.com mobile: '9800000000' mobile_alt: '9800000000' verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful properties: objectid: $ref: '#/components/schemas/Objectid' mandateid: $ref: '#/components/schemas/Mandateid' mercid: $ref: '#/components/schemas/Mercid' customer_refid: $ref: '#/components/schemas/Customer_refid' subscription_refid: $ref: '#/components/schemas/Subscription_refid' subscription_desc: $ref: '#/components/schemas/Subscription_desc' start_date: $ref: '#/components/schemas/Start_date' end_date: $ref: '#/components/schemas/End_date' amount: $ref: '#/components/schemas/Subscription_amount' amount_type: $ref: '#/components/schemas/Amount_type' currency: $ref: '#/components/schemas/Currency' frequency: $ref: '#/components/schemas/Frequency' status: $ref: '#/components/schemas/Subscription_status' createdon: $ref: '#/components/schemas/Createdon' payment_method_type: $ref: '#/components/schemas/Payment_method_type_subscriptions' card: $ref: '#/components/schemas/Card-Response' ru: $ref: '#/components/schemas/Ru' additional_info: $ref: '#/components/schemas/Additional-Info' customer: $ref: '#/components/schemas/Customer' verification_error_code: $ref: '#/components/schemas/Error_code' verification_error_type: $ref: '#/components/schemas/Error_type' verification_error_desc: $ref: '#/components/schemas/Error_desc' examples: Response: value: objectid: mandate mandateid: MA19E400049927 mercid: BDMERCID customer_refid: CSREF00001 subscription_refid: SUBREF101 subscription_desc: Unlimited Plan start_date: '2021-05-08' end_date: '2059-12-31' amount: '2400.00' amount_type: maximum currency: '356' frequency: adho status: active createdon: '2020-11-03T21:34:41+05:30' payment_method_type: card card: type: DEBIT masked_value: xxxxxxxxxxxx1234 network: VISA issuer: SBI ru: https://www.merchant.com customer: first_name: John last_name: Doe mobile: '9022979988' mobile_alt: '9022979982' email: abc@xyz.com email_alt: abc@xyz.com verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Forbidden: $ref: '#/components/examples/403-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Internal Server Error: $ref: '#/components/examples/500-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose default: description: Any bad or invalid request will lead to following error object content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Invalid merchant config: $ref: '#/components/examples/422-Invalid-merchant-config' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose parameters: - $ref: '#/components/parameters/bdTraceId' - $ref: '#/components/parameters/bdTimeStamp' - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/Accept' requestBody: content: application/json: schema: type: object x-examples: Example 1: mercid: BDMERCID mandateid: MA199000042326 properties: mercid: $ref: '#/components/schemas/Mercid' mandateid: $ref: '#/components/schemas/Mandateid' required: - mercid - mandateid examples: Request: value: mercid: BDMERCID mandateid: MA19E400049927 description: Retrieve details of a single mandate as per the mandateid. tags: - Mandate /pgsi/ve1_2/mandates/list: post: summary: List Mandates operationId: listMandates responses: '200': description: '' content: application/json: schema: type: object x-examples: Example 1: objectid: list mandates: - objectid: mandate mandateid: BDMD000001 mercid: BDMERCID customer_refid: CUST123456 subscription_refid: abcd12344567 subscription_desc: Unlimited Plan start_date: '2019-12-22' end_date: '2022-12-22' amount: '500.00' amount_type: max currency: '356' frequency: adho status: active createdon: '2019-12-22T11:26:14+05:30' payment_method_type: card card: paymentaccountid: pay32322 masked_value: xxxxxxxxxxxx1234 name: John Doe customer: first_name: John last_name: Doe mobile: '9800000000' mobile_alt: '9800000000' email: john.doe@somedomain.com email_alt: john.doe@somedomain.com - {} properties: objectid: $ref: '#/components/schemas/Objectid' mandates: type: array items: type: object properties: objectid: $ref: '#/components/schemas/Objectid' mandateid: $ref: '#/components/schemas/Mandateid' mercid: $ref: '#/components/schemas/Mercid' customer_refid: $ref: '#/components/schemas/Customer_refid' subscription_refid: $ref: '#/components/schemas/Subscription_refid' subscription_desc: $ref: '#/components/schemas/Subscription_desc' start_date: $ref: '#/components/schemas/Start_date' end_date: $ref: '#/components/schemas/End_date' amount: $ref: '#/components/schemas/Subscription_amount' amount_type: $ref: '#/components/schemas/Amount_type' currency: $ref: '#/components/schemas/Currency' frequency: $ref: '#/components/schemas/Frequency' status: $ref: '#/components/schemas/Subscription_status' createdon: $ref: '#/components/schemas/Createdon' payment_method_type: $ref: '#/components/schemas/Payment_method_type_subscriptions' card: type: object properties: paymentaccountid: type: string masked_value: type: string name: type: string customer: $ref: '#/components/schemas/Customer' examples: Response: value: objectid: list mandates: - objectid: mandate mandateid: BDMD000001 mercid: BDMERCID customer_refid: CUST123456 subscription_refid: abcd12344567 subscription_desc: Unlimited Plan start_date: '2019-12-22' end_date: '2022-12-22' amount: '500.00' amount_type: max currency: '356' frequency: adho status: active createdon: '2019-12-22T11:26:14+05:30' payment_method_type: card card: paymentaccountid: pay32322 masked_value: xxxxxxxxxxxx1234 name: John Doe customer: first_name: John last_name: Doe mobile: '9800000000' mobile_alt: '9800000000' email: john.doe@somedomain.com email_alt: john.doe@somedomain.com headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Forbidden: $ref: '#/components/examples/403-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Internal Server Error: $ref: '#/components/examples/500-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose default: description: Any bad or invalid request will lead to following error object content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Invalid merchant config: $ref: '#/components/examples/422-Invalid-merchant-config' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose description: All mandates created for a customer or for created date range [not exceeding 7 days] can be listed through this API. parameters: - $ref: '#/components/parameters/bdTraceId' - $ref: '#/components/parameters/bdTimeStamp' - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/Accept' requestBody: content: application/json: schema: type: object x-examples: Example 1: mercid: BDMERCID customer_refid: CUST123456 subscription_refid: CUST123456 from_date: '' to_date: '' properties: mercid: $ref: '#/components/schemas/Mercid' customer_refid: $ref: '#/components/schemas/Customer_refid' subscription_refid: $ref: '#/components/schemas/Subscription_refid' from_date: type: string description: Start mandate creation date for the date range format: date example: '2023-05-16' to_date: type: string description: End mandate creation date for the date range format: date example: '2029-10-22' required: - mercid examples: Request: value: mercid: BDMERCID customer_refid: CUST123456 tags: - Mandate /pgsi/ve1_2/mandates/modify: post: summary: Modify Mandate operationId: modifyMandate responses: '200': description: OK content: application/json: schema: type: object x-examples: Example 1: objectid: mandate transactionid: MT201104001624 mandateid: MA178F00042312 mercid: BDMERCID customer_refid: CUSTREF0001 subscription_refid: SUBREFCUS0001 subscription_desc: Family Plan start_date: '2020-11-03' end_date: '2028-12-10' amount: '2500.00' amount_type: max currency: '356' frequency: year status: active createdon: '2020-11-04T01:43:59+05:30' payment_method_type: card ru: https://www.merchanturl.com/response.jsp additional_info: additional_info1: NA additional_info2: NA additional_info3: NA additional_info4: NA additional_info5: NA additional_info6: NA additional_info7: NA additional_info8: NA additional_info9: NA additional_info10: NA card: paymentaccountid: PA092D00025925 masked_value: xxxxxxxxxxxx1234 holder_name: John Doe customer: first_name: John last_name: Doe email: john.doe@somedomain.com email_alt: john.doe@somedomain.com mobile: '9800000000' mobile_alt: '9800000000' next_step: 3ds2_challenge links: - href: https://www.issuerurl.com/page rel: redirect method: post parameters: valid_till: '2023-02-16T11:43:28+05:30' creq: 5a7e8901aa256b4f5012355dc4b12f7bb474be6d7f09232639220163cfb1eb7e36ac8594c92379254.70675f706172616d5f656e6333 properties: objectid: $ref: '#/components/schemas/Objectid' transactionid: $ref: '#/components/schemas/Transactionid' mandateid: $ref: '#/components/schemas/Mandateid' mercid: $ref: '#/components/schemas/Mercid' customer_refid: $ref: '#/components/schemas/Customer_refid' subscription_refid: $ref: '#/components/schemas/Subscription_refid' subscription_desc: $ref: '#/components/schemas/Subscription_desc' start_date: $ref: '#/components/schemas/Start_date' end_date: $ref: '#/components/schemas/End_date' amount: $ref: '#/components/schemas/Subscription_amount' amount_type: $ref: '#/components/schemas/Amount_type' currency: $ref: '#/components/schemas/Currency' frequency: $ref: '#/components/schemas/Frequency' status: $ref: '#/components/schemas/Subscription_status' createdon: $ref: '#/components/schemas/Createdon' payment_method_type: $ref: '#/components/schemas/Payment_method_type_subscriptions' ru: $ref: '#/components/schemas/Ru' card: $ref: '#/components/schemas/Card-Response' customer: $ref: '#/components/schemas/Customer' next_step: $ref: '#/components/schemas/Next_step' links: $ref: '#/components/schemas/Links' additional_info: $ref: '#/components/schemas/Additional-Info' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Forbidden: $ref: '#/components/examples/403-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Internal Server Error: $ref: '#/components/examples/500-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose default: description: Any bad or invalid request will lead to following error object content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Invalid merchant config: $ref: '#/components/examples/422-Invalid-merchant-config' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose description: 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. parameters: - $ref: '#/components/parameters/bdTraceId' - $ref: '#/components/parameters/bdTimeStamp' - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/Accept' requestBody: content: application/json: schema: type: object x-examples: Example 1: mercid: BDMERCID mandateid: MA178F00042312 end_date: '2028-12-10' amount: '2500.00' amount_type: max frequency: year authentication_type: 3ds2 3ds_parameter: merchant device: init_channel: internet ip: 124.124.1.2 mac: 11-AC-58-21-1B-AA imei: '990000112233445' user_agent: 'Mozilla/5.0(WindowsNT10.0;WOW64;rv: 51.0)Gecko/20100101Firefox/51.0' fingerprintid: 61b12c18b5d0cf901be34a23ca64bb19 accept_header: application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 browser_tz: '-330' browser_color_depth: '32' browser_java_enabled: 'false' browser_screen_height: '601' browser_screen_width: '657' browser_language: en-US browser_javascript_enabled: 'true' payment_method_type: card card: number: '4242420000001234' expiry_month: '12' expiry_year: '2029' holder_name: John Doe cvv: '111' properties: mercid: $ref: '#/components/schemas/Mercid' mandateid: $ref: '#/components/schemas/Mandateid' end_date: $ref: '#/components/schemas/End_date' amount: $ref: '#/components/schemas/Subscription_amount' amount_type: $ref: '#/components/schemas/Amount_type' frequency: $ref: '#/components/schemas/Frequency' authentication_type: $ref: '#/components/schemas/Authentication_type' 3ds_parameter: $ref: '#/components/schemas/3ds_parameter' payment_method_type: $ref: '#/components/schemas/Payment_method_type_subscriptions' card: oneOf: - $ref: '#/components/schemas/Pay-using-card-number-pan' - $ref: '#/components/schemas/Pay-using-network-token' - $ref: '#/components/schemas/Pay-using-issuer-token' - $ref: '#/components/schemas/Pay-using-card-account-id' - $ref: '#/components/schemas/Pay-using-altid' device: $ref: '#/components/schemas/Device' required: - mercid - mandateid - authentication_type - 3ds_parameter - payment_method_type - card - device tags: - Mandate /pgsi/ve1_2/mandates/update: post: responses: '200': description: OK content: application/json: schema: type: object x-examples: Example 1: objectid: mandate mandateid: MA199000042326 mercid: BDMERCID customer_refid: CUREF01112020001 subscription_refid: SUBS01112020001 subscription_desc: Unlimited Plan start_date: '2020-11-03' end_date: '2021-10-10' amount: '500.00' amount_type: maximum currency: '356' frequency: adho status: active createdon: '2020-11-03T21:34:41+05:30' payment_method_type: card ru: https://www.merchanturl.com/response.jsp additional_info: additional_info1: Details1 additional_info2: Details2 additional_info3: Details3 additional_info4: Details4 additional_info5: Details5 additional_info6: Details6 additional_info7: Details7 additional_info8: Details8 additional_info9: Details9 additional_info10: Details10 card: objectid: card masked_value: xxxxxxxxxxxx6633 type: CREDIT card_end: '6633' network: VISA issuer: RBL Bank cardaccountid: CA07BBAA000012341234 coft_consent: 'true' cardaccount: objectid: cardaccount mercid: BDMERCID customer_refid: CUSREF00000001 cardaccountid: CA07D151000000001234 orderid: ODR000000001 masked_value: xxxxxxxxxxxx1234 holder_name: John Doe issuer: ABC Bank network: VISA status: ACTIVE coft_consent: 'true' createdon: '2022-03-20T21:53:50+05:30' network_token: token_ref_no: 1fa3dbc43247ac3092971d3f8f4e658f status: ACTIVE createdon: '2022-03-20T21:53:50+05:30' token_expiry_month: '12' token_expiry_year: '2030' customer: first_name: John last_name: Doe email: john.doe@somedomain.com email_alt: john.doe@somedomain.com mobile: '9800000000' mobile_alt: '9800000000' verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful properties: objectid: $ref: '#/components/schemas/Objectid' mandateid: $ref: '#/components/schemas/Mandateid' mercid: $ref: '#/components/schemas/Mercid' customer_refid: $ref: '#/components/schemas/Customer_refid' subscription_refid: $ref: '#/components/schemas/Subscription_refid' subscription_desc: $ref: '#/components/schemas/Subscription_desc' start_date: $ref: '#/components/schemas/Start_date' end_date: $ref: '#/components/schemas/End_date' amount: $ref: '#/components/schemas/Subscription_amount' amount_type: $ref: '#/components/schemas/Amount_type' currency: $ref: '#/components/schemas/Currency' frequency: $ref: '#/components/schemas/Frequency' status: $ref: '#/components/schemas/Subscription_status' createdon: $ref: '#/components/schemas/Createdon' payment_method_type: $ref: '#/components/schemas/Payment_method_type_subscriptions' ru: $ref: '#/components/schemas/Ru' card: $ref: '#/components/schemas/Card-Response' customer: $ref: '#/components/schemas/Customer' verification_error_code: $ref: '#/components/schemas/Error_code' verification_error_type: $ref: '#/components/schemas/Error_type' verification_error_desc: $ref: '#/components/schemas/Error_desc' additional_info: $ref: '#/components/schemas/Additional-Info' examples: V/M/D/A card flow: value: objectid: mandate mandateid: MA01D000125262 mercid: BDMERCID customer_refid: MAN5686530753 subscription_refid: SRID5686530753 subscription_desc: Monthy Subscription start_date: '2023-12-06' end_date: '2050-12-31' amount: '10.00' amount_type: maximum currency: '356' frequency: adho status: active createdon: '2023-12-06T09:31:31+05:30' payment_method_type: card ru: https://www.merchant.com card: paymentaccountid: PA0C7C00104076 masked_value: xxxxxxxxxxxx0002 holder_name: Test type: CREDIT card_end: '0002' network: VISA issuer: SBI cardaccountid: CA037A0300000000916A customer: {} verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful bank_umrn: dueyYRLyn2 Rupay OTP flow: value: objectid: mandate mandateid: MN2238140228508 mercid: BDMERCID customer_refid: CUST0003049 subscription_refid: SUB0003049 subscription_desc: Ready12 start_date: '2023-12-06' end_date: '2023-12-20' amount: '1.00' amount_type: maximum currency: '356' frequency: adho status: active createdon: '2023-12-06T12:54:38+05:30' payment_method_type: card ru: https://merchant.com/ru additional_info: {} card: paymentaccountid: PA1DEF137860258 masked_value: xxxxxxxxxxxx7990 holder_name: John Doe type: DEBIT card_end: '7990' network: RUPAY issuer: Punjab National Bank cardaccountid: CA04310F00003518457A customer: {} verification_error_code: TRS0000 verification_error_type: success verification_error_desc: Transaction Successful bank_umrn: 123401255489814A headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Forbidden: $ref: '#/components/examples/403-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Internal Server Error: $ref: '#/components/examples/500-error' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose default: description: Any bad or invalid request will lead to following error object content: application/json: schema: $ref: '#/components/schemas/Error-object' examples: Invalid merchant config: $ref: '#/components/examples/422-Invalid-merchant-config' headers: BD-Traceid: schema: type: string description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. Content-Type: schema: type: string description: Request Content-Type to take the values application/jose Accept: schema: type: string description: Accept Response Content-Type to take the values application/jose operationId: updateMandate description: 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. parameters: - $ref: '#/components/parameters/bdTraceId' - $ref: '#/components/parameters/bdTimeStamp' - $ref: '#/components/parameters/Content-Type' - $ref: '#/components/parameters/Accept' requestBody: content: application/json: schema: type: object x-examples: Example 1: mandateid: MA19E400049927 mercid: BDMERCID card: number: '4242420000001234' expiry_month: '12' expiry_year: '2029' holder_name: John Doe cvv: '123' response_parameters: cres: eJytmFmvo8iSgN/5Fa26j 1Y3qxdariMlO9hgsy8vIwyYfTGLWX7 94HP6VFXX1Ghujy7S0UmCzMiIzIgv0 nk0kjaKGD0KhjZ6O8pR1XyXA364Xvl 88vF+ivl/jvm6mfrze/W+TZS3g properties: mandateid: $ref: '#/components/schemas/Mandateid' mercid: $ref: '#/components/schemas/Mercid' card: oneOf: - $ref: '#/components/schemas/Pay-using-card-number-pan' - $ref: '#/components/schemas/Pay-using-network-token' - $ref: '#/components/schemas/Pay-using-issuer-token' - $ref: '#/components/schemas/Pay-using-card-account-id' response_parameters: $ref: '#/components/schemas/Response-parameters' required: - mandateid - mercid - card - response_parameters examples: V/M/D/A card flow: value: mandateid: MA19E400049927 mercid: BDMERCID card: number: '4242420000001234' expiry_month: '12' expiry_year: '2029' holder_name: John Doe cvv: '123' response_parameters: cres: eJytmFmvo8iSgN/5Fa26j 1Y3qxdariMlO9hgsy8vIwyYfTGLWX7 94HP6VFXX1Ghujy7S0UmCzMiIzIgv0 nk0kjaKGD0KhjZ6O8pR1XyXA364Xvl 88vF+ivl/jvm6mfrze/W+TZS3g Rupay OTP Flow: value: mandateid: MA19E400049927 mercid: BDMERCID card: card: number: '4242420000001234' expiry_month: '02' expiry_year: '2029' holder_name: John Doe cvv: '123' response_parameters: otp: '123456' description: '' summary: Update Mandate tags: - Mandate components: schemas: Upi: type: object x-stoplight: id: 5964437f54f97 x-examples: Example 1: vpa: testvpa@abc properties: vpa: type: string description: Virtual Payment Address pattern: ^[a-zA-Z0-9][a-zA-Z0-9\\.\\-\\_]{2,38}\\@[a-zA-Z0-9]{3,20}$ example: abc@okbank description: Required when payment_method_type = upi and txn_process_type = collect 3ds_parameter: title: 3ds_parameter x-stoplight: id: 9cf00xo1tntr9 type: string enum: - merchant description: Value that determines which entity will capture the device attributes, possible values are merchant Mercid: title: mercid x-stoplight: id: 43ns25lu1fyuc type: string pattern: ^[A-Za-z0-9]{1,10}$ example: BDMERCID description: Unique identifier as defined by BillDesk for each merchant Bankaccount_holder_name: title: bankaccount_holder_name x-stoplight: id: jedjceugzit8g type: string description: Name of the bank account holder example: John Doe pattern: ^[A-Za-z0-9\\s\\.'\\-\\~\\@\\_]{1,120}$ Card_type: description: Card product type, takes the following values - debit, credit or prepaid title: card_type x-stoplight: id: r4tyk0ee6k6u5 type: string example: debit, credit, prepaid Card_network: description: Card network, for eg. visa title: card_network x-stoplight: id: fmhnjhdrk4ngb type: string example: VISA, MASTER Pay-using-card-number-pan: type: object x-stoplight: id: 1xxgnveu0ix3k x-examples: Example 1: card: number: '4242420000001234' expiry_month: '12' expiry_year: '2029' holder_name: John Doe cvv: '123' tokenize: 'true' coft_consent: 'true' title: Pay using card number - pan properties: number: type: string example: '4242420000001234' pattern: ^[0-9]{16}$ description: Card number expiry_month: type: string example: '02' description: Card expiry month in MM format expiry_year: type: string example: '2029' description: Card expiry year in YYYY format holder_name: type: string example: John Doe description: Cardholder name pattern: ^[A-Za-z0-9\\\\s\\\\.'\\\\-\\\\~\\\\@\\\\_]{1,120}$ cvv: type: string example: '123' description: Card cvv value tokenize: type: string enum: - 'true' description: If the card is required to be tokenized then, the value is true coft_consent: type: string enum: - 'true' description: Fixed value as true, confirming the card holder consent to tokenize the card required: - number - expiry_month - expiry_year - cvv Deletedon: title: deletedon x-stoplight: id: say421z8ls54l type: string Frequency: title: frequency x-stoplight: id: xrmygt1ddb1b6 type: string description: "Frequency at which the subscription debits will be processed, possible values are:\n•week - weekly \n•mnth - monthly\n•bimn – bi-monthly\n•qurt - quarterly\n•bian – bi-annually\n•year - yearly\n•adho – adhoc\n" enum: - week - mnth - bimn - qurt - bian - year - adho IFSC: title: IFSC x-stoplight: id: grn65kr3i0pk0 type: string description: IFSC of the bank account number pattern: ^[A-Za-z]{4}[a-zA-Z0-9]{7}$ example: IDBK10000002 Error_desc: title: error_desc x-stoplight: id: uyor3loffwtew type: string description: Represents the error description for the response Createdon: title: createdon x-stoplight: id: k3ewegvbimz0g type: string description: object creation timestamp format: date-time Subscription_amount: title: subscription_amount x-stoplight: id: 7j61bmv2v1u41 type: string description: Subscription amount in two decimals, eg. 2400.00 example: '2400.00' pattern: ^([1-9]{1}[0-9]{0,7}(\.[0-9]{1,2})?)$ Card_issuer: description: Card issuer title: card_issuer x-stoplight: id: tm5adiwnqv7q0 type: string Amount_type: title: amount_type x-stoplight: id: o7dqaslkupvxa type: string description: "Indicates whether subscription amount is fixed or has a maximum limit. The following values are possible\n•\tmaximum - indicates the maximum amount that can be charged for the subscription\n•\tfixed – indicates the fixed amount to be charged for the subscription\nPlease note: For upi, only \"maximum\" is allowed. This is required to allow for token debit (small value transaction)\n" enum: - maximum - fixed Next_step: title: next_step x-stoplight: id: ayox9qr52qx6o type: string description: Refers to the action to be taken by the merchant, for eg. redirect or capture_otp enum: - redirect - capture_otp - 3ds2_challenge - 3ds2_frictionless Pay-using-issuer-token: type: object x-stoplight: id: 605rgi2ucynyf x-examples: Example 1: card: issuer_token: token_value: '1234383920541234' token_cryptogram: /1234AAASMuXoH8AmYMoglY1234= token_expiry_month: '12' token_expiry_year: '2029' card_end: '0004' cvv: '123' holder_name: John Doe title: Pay using issuer token properties: issuer_token: type: object required: - token_value - token_cryptogram - token_expiry_month - token_expiry_year properties: token_value: type: string description: Token Value – as received from TSP in the ‘Detokenize’ response pattern: ^[A-Za-z0-9]{1,35}$ example: '1234383920541234' token_cryptogram: type: string description: Token Cryptogram – as received from TSP in the ‘Detokenize’ response example: /1234AAASMuXoH8AmYMoglY1234= pattern: ^[a-zA-Z0-9\\\\/\\\\!@#\\\\$%\\\\^&\\\\*\\\\(\\\\)\\\\{\\\\}_\\\\+\\\\=\\\\|:”;’,\\\\.~`\\\\-\\\\\\\\]{1,256}$ token_expiry_month: type: integer example: '02' description: Token Expiry Month – as received from TSP in the MM format token_expiry_year: type: integer example: 2029 description: Token Expiry Year – as received from TSP in the YYYY format card_end: type: string description: "Last 4 digits of the card number \n\nNote: For an EMI transaction via network token,this attribute value is required for loan booking" example: '0045' cvv: type: string description: 'Card cvv value ' example: '123' holder_name: type: string description: Cardholder name pattern: ^[A-Za-z0-9\\s\\.'\\-\\~\\@\\_]{1,120}$ example: John Doe required: - issuer_token - card_end Links_Parameters: description: Parameters that are used to redirect the customer to the issuer URL type: object x-examples: Example 1: tranid: '973712065583009734440001099962' AccuCardholderId: '90926094409' AccuReturnURL: https://www.merchanturl.com/response.jsp session: U4440001099962 AccuGuid: 15e66a3b-956e-42f8-84d4-859e3e8c9fed TermUrl: https://www.merchanturl.com/response.jsp AccuRequestId: YjIxM2ZiZGUyMGY2MmNjZWE5YWQ1NGE5OGNiZDUyZjkyYThlMDFiYjFkMTY1Yjc0ZTI4NTgxNDA1MGRiNzE0Ng== cardend: '4938' title: parameters properties: creq: type: string description: Challenge request message or payment message for 3ds2.0 protocol authentication bdcreq: type: string description: "Challenge request message or payment message for \n3ds2.0 protocol authentication (Threeds method url flow)" tranid: type: string description: Payment parameter for rupay redirect flow AccuCardholderId: type: string description: Payment parameter for rupay redirect flow AccuReturnURL: type: string description: Payment parameter for rupay redirect flow session: type: string description: Payment parameter for rupay redirect flow AccuGuid: type: string description: Payment parameter for rupay redirect flow TermUrl: type: string description: Payment parameter for rupay redirect flow AccuRequestId: type: string description: Payment parameter for rupay redirect flow cardend: type: string description: Payment parameter for rupay redirect flow Error-object: type: object properties: status: type: integer description: This will be same as HTTP response code error_type: type: string description: This indicates of the category of errors that could be encountered, for e.g. validation_error, api_connection_error, etc. error_code: type: string description: Under the error_type, there could be different error_codes that could be returned depending upon the API and the underlying interaction message: type: string description: More details as a description for the error_code Transactionid: title: transactionid x-stoplight: id: uqizgn6tyoqhg type: string description: 'Unique transactionid created by BillDesk ' pattern: ^[A-Za-z0-9]{14,35}$ example: U4560001099939 Pay-using-altid: type: object x-stoplight: id: 77jgo8f9g4srj x-examples: Example 1: card: network_token: token_value: '1234383920541234' token_cryptogram: /1234AAASMuXoH8AmYMoglY1234= token_expiry_month: '12' token_expiry_year: '2029' card_end: '0004' cvv: '123' holder_name: John Doe title: Pay using alt id token properties: altid_token: type: object required: - altid_value - altid_cryptogram - altid_expiry_month - altid_expiry_year properties: altid_value: type: string description: Token Value – as received from TSP, provided in the ‘Detokenize’ response pattern: ^[A-Za-z0-9]{1,35}$ example: '1234383920541234' altid_cryptogram: type: string description: Token Cryptogram – as received from TSP, provided in the ‘Detokenize’ response pattern: ^[a-zA-Z0-9\\/\\!@#\\$%\\^&\\*\\(\\)\\{\\}_\\+\\=\\|:”;’,\\.~`\\-\\\\]{1,256}$ example: /1234AAASMuXoH8AmYMoglY1234= altid_expiry_month: type: integer example: '02' description: Token Expiry Month – as received from TSP in the MM format altid_expiry_year: type: integer example: 2029 description: Token Expiry Year – as received from TSP in the YYYY format altid_trid: type: string description: 'conditional: required only for AMEX - validate once' card_end: type: string description: "Last 4 digits of the card number \n\nNote: For an EMI transaction via network token,this attribute value is required for loan booking" example: '0045' cvv: type: string description: Card cvv value example: '123' holder_name: type: string description: Cardholder name example: John Doe pattern: ^[A-Za-z0-9\\\\s\\\\.'\\\\-\\\\~\\\\@\\\\_]{1,120}$ required: - altid_token - cvv - holder_name Currency: title: currency x-stoplight: id: 1ehjh4f7vidz7 type: string description: ISO currency of the transaction amount, for INR this value will be 356 Pay-using-network-token: type: object x-stoplight: id: ze1cvmk9lawl5 x-examples: Example 1: card: network_token: token_value: '1234383920541234' token_cryptogram: /1234AAASMuXoH8AmYMoglY1234= token_expiry_month: '12' token_expiry_year: '2029' card_end: '0004' cvv: '123' holder_name: John Doe title: Pay using network token properties: network_token: type: object required: - token_value - token_cryptogram - token_expiry_month - token_expiry_year properties: token_value: type: string description: Token Value – as received from TSP, provided in the ‘Detokenize’ response pattern: ^[A-Za-z0-9]{1,35}$ example: '1234383920541234' token_cryptogram: type: string description: Token Cryptogram – as received from TSP, provided in the ‘Detokenize’ response pattern: ^[a-zA-Z0-9\\/\\!@#\\$%\\^&\\*\\(\\)\\{\\}_\\+\\=\\|:”;’,\\.~`\\-\\\\]{1,256}$ example: /1234AAASMuXoH8AmYMoglY1234= token_expiry_month: type: integer example: '02' description: Token Expiry Month – as received from TSP in the MM format token_expiry_year: type: integer example: 2029 description: Token Expiry Year – as received from TSP in the YYYY format card_end: type: string description: "Last 4 digits of the card number \n\nNote: For an EMI transaction via network token,this attribute value is required for loan booking" example: '0045' cvv: type: string description: Card cvv value example: '123' holder_name: type: string description: Cardholder name example: John Doe pattern: ^[A-Za-z0-9\\\\s\\\\.'\\\\-\\\\~\\\\@\\\\_]{1,120}$ required: - network_token - card_end Payment_method_type_subscriptions: title: payment_method_type x-stoplight: id: srv1yjnq1s6ua type: string description: 'Represents the method of payment, and can take the following values - card, netbanking, wallet, upi, eft, bankaccount, cashcard, cardless (non-card emi option) The associated object will also be provided in the request.' enum: - card - netbanking - upi Bankaccount: type: object x-stoplight: id: xz4vf44eamaja x-examples: Example 1: type: savings number: 025199000004061 holder_name: John Doe dest_bank_id: YBK description: Required when payment_method_type = bankaccount properties: number: type: string description: Bank account number pattern: ^\\d{9,18}$ example: '8928292891111' x-stoplight: id: gtyccqe4czccv type: type: string description: "Type of the bank account, and can take the following values:\n•\tsavings\n•\tcurrent" enum: - savings - current - overdraft x-stoplight: id: iv130qvba1z6k holder_name: type: string description: Name of the bank account holder pattern: ^[A-Za-z0-9\\s\\.'\\-\\~\\@\\_]{1,120}$ example: John Doe x-stoplight: id: mmbh9skvdy39x dest_bank_id: type: string description: Unique id created for the destination bank, where enach services are currently facilitated by NPCI example: YBK x-stoplight: id: xkncms4x678ni ifsc: type: string description: IFSC of the bank account number pattern: ^[A-Za-z]{4}[a-zA-Z0-9]{7}$ example: BANK0000002 x-stoplight: id: oij0aiw1orzjm paymentaccountid: type: string description: Unique id created by BillDesk for the payment instrument x-stoplight: id: bwkpaipiq7kq3 bank_id: type: string description: Sponsor bank through which the mandate is created pattern: ^[A-Za-z0-9]{1,10}$ example: 1HM x-stoplight: id: h0jt9657rsmng required: - number - type - holder_name - dest_bank_id Debit_day: title: debit_day x-stoplight: id: ppp2ede7qx3fc type: string description: 'Required only where payment_method_type = upi. Default value "1" to be passed ' pattern: ^\\d{1,2}$ example: '1' enum: - '1' Masked_value: description: "Last 4 digits of the card number \nNote: For an EMI transaction via network token, this attribute value is required for loan booking" title: masked_value x-stoplight: id: r3wddilt5cyy4 type: string example: xxxxxxxxxxxx1001 Customer: title: customer x-examples: Example 1: first_name: John last_name: Doe mobile: '9800000000' mobile_alt: '9800000000' email: john.doe@somedomain.com email_alt: john.doe@somedomain.com type: object properties: first_name: type: string description: Customer’s First Name example: John last_name: type: string description: Customer’s Last Name example: Doe mobile: type: string description: Customer’s Mobile number pattern: ^[\\+]{0,1}[0-9]{5,15}$ example: '9022979988' mobile_alt: type: string description: Customer’s Alternate Mobile number pattern: ^[\\+]{0,1}[0-9]{5,15}$ example: '9022979982' email: type: string description: Customer’s Email address pattern: ^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9\\-]+)*(\\.[A-Za-z]{2,6})$ example: abc@xyz.com email_alt: type: string description: Customer’s alternate Email Address example: abc@xyz.com pattern: ^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9\\-]+)*(\\.[A-Za-z]{2,6})$ required: - first_name - last_name Response-parameters: type: object x-examples: Example 1: cres: eJytmFmvo8iSgN/5Fa26j 1Y3qxdariMlO9hgsy8vIwyYfTGLWX7 94HP6VFXX1Ghujy7S0UmCzMiIzIgv0 nk0kjaKGD0KhjZ6O8pR1XyXA364Xvl 88vF+ivl/jvm6mfrze/W+TZS3g AccuResponseCode: ACCU000 session: X4440639244491 AccuGuid: a13df076-5c82-4fbf-aa5c-be11e9847e9a AccuRequestId: MGI2ZTE2M2RjYzJjNTBhMDlkMzA1OTc2NmU3OTBjOTdjNjk3NjA5MDdmY2RlMDI1MTA1MDBjOTYyMzMyODNjNg== MD: '' Pares: '' properties: cres: type: string description: Response parameters as received from the issuer, and will be cres for 3ds 2.0 flow example: eJytmFmvo8iSgN/5Fa26j 1Y3qxdariMlO9hgsy8vIwyYfTGLWX7 94HP6VFXX1Ghujy7S0UmCzMiIzIgv0 nk0kjaKGD0KhjZ6O8pR1XyXA364Xvl 88vF+ivl/jvm6mfrze/W+TZS3g AccuResponseCode: type: string description: Response parameters as received from the issuer, and will be received for Rupay cards example: 'ACCU000 ' session: type: string description: Response parameters as received from the issuer, and will be received for Rupay cards example: X4440639244491 AccuGuid: type: string description: Response parameters as received from the issuer, and will be received for Rupay cards example: a13df076-5c82-4fbf-aa5c-be11e9847e9a AccuRequestId: type: string description: Response parameters as received from the issuer, and will be received for Rupay cards example: MGI2ZTE2M2RjYzJjNTBhMDlkMzA1OTc2NmU3OTBjOTdjNjk3NjA5MDdmY2RlMDI1MTA1MDBjOTYyMzMyODNjNg==" otp: type: string description: for a native authentication where next_step = capture_otp TermUrl: type: string description: Payment parameter for rupay redirect flow cardend: type: string description: Payment parameter for rupay redirect flow Mandateid: title: mandateid x-stoplight: id: joq1b0hwy6hce type: string description: Unique mandateid created by BillDesk pattern: ^[A-Za-z0-9]{1,20}$ example: MA19E400049927 Start_date: title: start_date x-stoplight: id: v7tyy2tfnut1w type: string description: "Subscription start date in yyyy-mm-dd format\nNote: Should be greater than or equal to current date (IST timezone). \nNote for UPI : Should be equal to mandate creation date for UPI. In UPI, an subsequent charge is created on a successful mandate. This includes the first charge as well along with mandate creation. Since first charge is done immediately, it is important that the mandate “start_date” should be today’s date \n" format: date example: '2021-05-08' Error_type: title: error_type x-stoplight: id: snpogojwqc0aq type: string description: Represents the error type for the response Avs-request: type: object x-examples: Example 1: bankaccount: - number: '12233445566' ifsc: IDBK10000002 name: John Doe - number: '12233445567' ifsc: IDBK10000002 name: John Doe description: 'This API can be used to verify the bank account number by initiating a penny drop to the account. For upi, validation is done at acquiring bank end ' title: Account validation properties: bankaccounts: type: array items: type: object properties: number: $ref: '#/components/schemas/Bankacc_number' description: Customer's bank account number ifsc: $ref: '#/components/schemas/IFSC' description: IFSC of the bank account number name: $ref: '#/components/schemas/Bankaccount_holder_name' description: Name of the bank account holder required: - number - ifsc Authentication_type: title: authentication_type x-stoplight: id: c33ke2q5rl7ql type: string description: Represents the type of authentication initiated in the request, will be fixed value - 3ds2 enum: - 3ds2 example: 3ds2 Recurrence_rule: title: recurrence_rule x-stoplight: id: mzu48wk4tb3i8 type: string description: 'Note: Required only where payment_method_type = upi. Default value : ''after'' ' enum: - after Verification_required: title: verification_required x-stoplight: id: aoczom910lxfh type: string enum: - 'true' - 'false' description: 'Indicates whether a verification is required while creating the mandate, and takes the boolean true. Note Required only where payment_method_type = bankaccount.' Pay-using-card-account-id: type: object x-stoplight: id: dbr5tekgwo4lq x-examples: Example 1: card: cardaccountid: CA0AAEF9000000000123 cvv: '123' card_end: '0055' holder_name: John Doe title: Pay using card account id properties: cardaccountid: type: string description: Unique ID created by BillDesk for the combination of card number, mercid and customer_refid example: CA0AAEF9000000000123 cvv: type: string description: 'Card cvv value ' example: '123' card_end: type: string description: "Last 4 digits of the card number \n\nNote: For an EMI transaction via network token,this attribute value is required for loan booking" example: '0045' holder_name: type: string pattern: ^[A-Za-z0-9\\s\\.'\\-\\~\\@\\_]{1,120}$ example: John Doe description: Cardholder name required: - cardaccountid - cvv - card_end Objectid: title: objectid x-stoplight: id: bbwm8bhhbqd4r type: string description: 'String representing the object''s type. Objects of the same type share the same value. ' enum: - transaction - authentication - mandate - invoice - cardaccount - validatevpa - dispute - settlement - altid - mandate_token - accountvalidation Error_code: title: error_code x-stoplight: id: 2grhtze0qf6ob type: string description: Represents the error code for the response Valid_date: title: valid_date x-stoplight: id: cdufg3umnvllt type: string description: Date and time till when the url is valid Avs-response: type: object x-examples: Example 1: bankaccount: - number: xxxxxxxxx5566 ifsc: IDBK10000002 name: John Doe - number: xxxxxxxxx5567 ifsc: IDBK10000002 name: John Doe account_matched: 'true' name_matched: 'true' properties: bankaccount: type: array description: Details of the bank account items: type: object properties: number: $ref: '#/components/schemas/Bankacc_number' ifsc: $ref: '#/components/schemas/IFSC' name: $ref: '#/components/schemas/Bankaccount_holder_name' account_matched: type: string description: Boolean value (true or false) that indicates the status of account matching enum: - 'true' - 'false' name_matched: type: string description: Boolean value (true or false) that indicates the status of name matching enum: - 'true' - 'false' description: '' Links: type: object x-stoplight: id: 7t5udyb6ilh37 x-examples: Example 1: links: - href: https://wwww.issuerurl.com/somepage rel: redirect method: post parameters: creq: eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIzYjFlYmQ5NC04NTZhLTRlYjEtYTJlMS00MWZkNTdjZGFkZjAiLCJhY3NUcmFuc0lEIjoiOGMzMzk3NTItMjNmMS00NmZlLThmNzEtMzAwZjAyMzY0NjcxIiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjA1In0= description: Associated links with the object, and contains the issuer URL that will be provided in the redirect authentication workflow properties: links: type: array items: type: object properties: href: type: string description: Issuer response URL rel: type: string description: Fixed value as redirect method: type: string enum: - POST parameters: $ref: '#/components/schemas/Links_Parameters' description: Parameters that are used to redirect the customer to the issuer URL title: links Card-Response: type: object x-stoplight: id: n1nmwdiqy5hrc x-examples: Example 1: card: type: DEBIT card_end: '1234' network: VISA issuer: ABC Bank properties: type: $ref: '#/components/schemas/Card_type' description: Card product type, takes the following values - debit, credit or prepaid masked_value: $ref: '#/components/schemas/Masked_value' description: "Last 4 digits of the card number \nNote: For an EMI transaction via network token, this attribute value is required for loan booking" network: $ref: '#/components/schemas/Card_network' description: Card network, for eg. visa issuer: $ref: '#/components/schemas/Card_issuer' description: Card issuer Customer_message: title: customer_message x-stoplight: id: ln96v402kk8ge type: string description: Customer message for display and is generally provided in the native OTP authentication journey, ie. next_step=capture_otp enum: - capture_otp Bank_umrn: title: bank_umrn x-stoplight: id: qjm9t2s4xtj05 type: string example: 130a977ccabb11e7abc4cec278b6b50a@mypsp description: 'Unique mandate reference number provided from the acquiring bank or network Note: This attribute is provided for the upi and bankaccount payment methods ' Customer_refid: title: customer_refid x-stoplight: id: mpmq18zbl4x12 type: string description: 'Unique reference of the customer in the merchant system, and can be linked to different subscriptions of the same customer Required for mandate and tokenization' pattern: ^[A-Za-z0-9\\_\\:\\-]{1,80}$ example: CSREF00001 Additional-Info: type: object x-examples: Example 1: additional_info: additional_info1: Details1 additional_info2: Details2 additional_info3: Details3 additional_info4: Details4 additional_info5: Details5 additional_info6: Details6 additional_info7: Details7 additional_info8: Details8 additional_info9: Details9 additional_info10: Details10 description: 'Array of 7 additional_info values that can be attached to the transaction. Note: Merchant is advised to not pass customer PII information in additional info fields.' properties: additional_info1: type: string example: Details1 additional_info2: type: string example: Details2 additional_info3: type: string example: Details3 additional_info4: type: string example: Details4 additional_info5: type: string example: Details5 additional_info6: type: string example: Details6 additional_info7: type: string example: Details7 Device: type: object x-stoplight: id: 1dup8vlut7f5l x-examples: Example 1: device: init_channel: internet ip: 124.124.1.1 mac: 11-AC-58-21-1B-AA imei: '990000112233445' user_agent: Mozilla/5.0(WindowsNT10.0;WOW64;rv:51.0)Gecko/20100101Firefox/51.0 accept_header: text/html fingerprintid: 61b12c18b5d0cf901be34a23ca64bb19 browser_tz: '-330' browser_color_depth: '32' browser_java_enabled: 'false' browser_screen_height: '601' browser_screen_width: '657' browser_language: en-US browser_javascript_enabled: 'true' title: Device object description: Device Object properties: init_channel: type: string description: Initiating channel,accepted values are internet,app or kiosk enum: - internet - app - kiosk ip: type: string description: Customer’s IP address maxLength: 15 user_agent: type: string description: 'Exact content of the HTTP user-agent header Note: If the total length of the User-Agent sent by the browser exceeds 2048 characters, truncate the excess portion' example: 'Mozilla/5.0(WindowsNT10.0;WOW64;rv: 51.0)Gecko/20100101Firefox/51.0' pattern: =^[A-Za-z0-9\\_\\:\\-\\,\\;\\/\\)\\(\\.\\s\\+\\[\\]\\=@]{10,255}$ accept_header: type: string description: Customer browser accept header values maxLength: 255 example: application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 pattern: ^[0-9A-Za-z\\.\\+\\-\\/\\=\\*\\,\\;]{10,255}$ browser_language: type: string description: Value representing the browser language, returned from navigator.language property, for eg. en-US maxLength: 5 example: en-US pattern: ^[A-Za-z\\-]{2,5}$ browser_javascript_enabled: type: string enum: - 'true' - 'false' description: 'Boolean (true or false) that represents the ability of the cardholder browser to execute JavaScript. Note – if true, additional attributes of browser_tz, browser_color_depth, browser_java_enabled, browser_screen_height, browser_screen_width are mandatory' browser_tz: type: string description: 'Time-zone offset in minutes between UTC and the Cardholder browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead. For eg. if UTC -5 hours then browser_tz = 300 and if UTC +5 hours then browser_tz = -300’' pattern: ^[0-9\\+\\-]{2,6}$ maxLength: 6 example: '-330' browser_color_depth: type: string description: 'Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from Cardholder browser using the screen.Color.Depth property. In case the actual vaue does not exist in the allowed values, use the closest lower value,for eg. 32' maxLength: 5 pattern: ^[0-9]{2,5}$ example: '652' browser_java_enabled: type: string description: Boolean (true or false) that represents the ability of the cardholder browser to execute Java. Value is returned from the navigator.javaEnabled property enum: - 'true' - 'false' browser_screen_height: type: string description: Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property for eg. 601 pattern: ^[0-9]{2,5}$ example: '452' maxLength: 5 browser_screen_width: type: string description: Total width of the cardholder’s screen in pixels. Value is returned from the screen.width property, for eg. 657 pattern: ^[0-9]{2,5}$ example: '702' maxLength: 5 required: - init_channel - ip - user_agent - accept_header - browser_language - browser_javascript_enabled Subscription_status: title: subscription_status x-stoplight: id: y0fyz4zqhcknd type: string description: "Represents the status of the mandate and depends upon the linked payment method. \n\nThe following values are possible:\ncard, upi\n•\tinitiated - mandate request has been initiated, and this status is applicable for the SDK based workflow\n•\tpending - mandate request has been initiated and the linked payment method is not yet validated\n•\tactive – linked payment method has been validated and recurring charges can be processed\n•\trejected - mandate has been rejected by the issuer or payment provider\n•\tdeleted - mandate has been deleted by the customer from the merchant channel\n•\tcancelled – mandate has been stopped by customer from the issuer channel\n•\tsuspended – mandate has been temporarily suspended by the issuer or payment provider\nbankaccount\n•\tpending – mandate request has been sent for account verification to NPCI\n•\tactive – mandate is active and recurring charges can be processed\n•\tdelete_initiated – mandate delete request is initiated by the customer or the merchant\n•\tdeleted – mandate is deleted after confirmation from NPCI\n•\trejected – mandate is rejected by NPCI\n" Bankacc_number: title: bankacc_number x-stoplight: id: 9nwo0pwlz0qos type: string description: Bank account number pattern: ^\\d{9,18}$ example: '12233445566' Amount: title: amount x-stoplight: id: s5xd8bwxp2orm type: string pattern: ^([1-9]{1}[0-9]{0,7}(\.[0-9]{1,2})?)$ example: '299.28' description: Transaction amount in two decimals, eg. 299.28 End_date: title: end_date x-stoplight: id: uz968g6golwjt type: string description: 'Subscription end date in yyyy-mm-dd format Note: Should be greater than current date (IST timezone). For mandates that are valid ‘until cancelled’ by the customer, end_date year could be 2099, and for upi, maximum duration allowed for a mandate is 30 years' format: date example: '2059-12-31' Ru: title: return URL x-stoplight: id: 2nnmkccdq26ck type: string example: https://www.merchant.com pattern: =^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;{]*[-a-zA-Z0-9+&@#/%=~_|} ]{1,2000}$ description: Merchants URL where the customer will be redirected after a transaction is completed Subscription_desc: title: subscription_desc x-stoplight: id: lwkkeas7tgojy type: string example: Unlimited Plan description: Customer friendly description for the subscription, this narration is generally displayed to the customer at the issuer channel Subscription_refid: title: subscription_refid x-stoplight: id: 0c9vc4zqx4a8c type: string example: SUBREF101 description: Unique reference assigned by merchant for a subscription Verification_type: title: verification_type x-stoplight: id: ss75n4w5ga9cl type: string enum: - enach_nb - enach_dc description: 'Indicates type of verification that will be performed by the customer to set up the mandate, accepted values are enach_nb for netbanking, enach_dc for debit card. Note Required only where payment_method_type = bankaccount.' examples: 403-error: value: status: 403 error_type: inaccessable_resource_error error_code: GNIAE0002 message: Access forbidden 500-error: value: status: 500 error_type: api_processing_error error_code: AUAPE0001 message: Internal server error 422-Invalid-merchant-config: value: status: 422 error_type: api_validation_error error_code: GNAVE0001 message: Incorrect merchant configuration parameters: bdTimeStamp: in: header name: BD-Timestamp description: Request timestamp to identify date and time of origin of request. Example, a value of BD-Timestamp 20210113180403 identifies the request to have originated on 13th January 2021 at 06:04:03 PM. required: true schema: type: string example: '20201203182838' Content-Type: name: Content-Type in: header required: true schema: type: string example: application/json description: Request Content-Type to take the values application/jose bdTraceId: in: header name: BD-Traceid description: BD-TraceID is a unique identifier passed by the merchant to ensure request idempotency. Requests with identical BD-TraceID within a 24 hour window would fail. required: true schema: type: string example: '20201203182838' Accept: name: Accept in: header required: true schema: type: string example: application/jose description: Accept Response Content-Type to take the values application/jose x-stoplight: id: fn32l3grxzejb x-samples-languages: - shell - json - node - java - csharp x-provenance: method: searched source: https://docs.billdesk.io/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://docs.billdesk.io/reference/createinvoice.md - https://docs.billdesk.io/reference/createmandate.md - https://docs.billdesk.io/reference/deletemandate.md - https://docs.billdesk.io/reference/listmandates.md - https://docs.billdesk.io/reference/modifymandate.md - https://docs.billdesk.io/reference/retrievemandate.md - https://docs.billdesk.io/reference/retriveinvoice.md - https://docs.billdesk.io/reference/updatemandate.md merge: pages: 8 deduped: 228 conflicts_kept_first: 0