--- openapi: 3.0.2 info: title: TangoHub Payment API v1.8.2 version: 1.8.2 description: Tango HUB API for Payment servers: - url: " https://{domain}.agorapay.com/mkp/{version}" description: Payment service variables: domain: default: api.live description: Production environment version: default: v1 description: API version paths: /payout/create: summary: Submit a payout post: requestBody: content: application/json: schema: $ref: "#/components/schemas/payoutRequest" examples: Create payout: value: accountNumber: 1300600000EUR01006110 reason: test endToEndId: ETEID-20210203142803584 paymentMethodAlias: PM2021011300GLR1100 metaData: Metadata3: donnée3 Metadata4: donnee4 payoutAmount: value: "200" currency: EUR commission: amount: "1.00" account: 1300600000EUR60002411 required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/payoutResponse" examples: Payout response: value: resultCode: "0" transactionId: "1289921" description: Payout successful "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in processing "401": description: Header id_token with JWT invalid or absent description: From accountNumber to the bank account associated to this account number. /transfer/create: summary: Ask for a transfer between two accounts post: requestBody: content: application/json: schema: $ref: "#/components/schemas/transferRequest" examples: transfert: value: accountNumber: 1300600000EUR01004110 accountCptNumber: 1300600000EUR01006110 orderRef: "20210203142044" reason: test transferAmount: value: "10.01" currency: EUR required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/transferResponse" examples: Transfer_OK: value: resultCode: "0" transactionId: "1287521" description: transfer done successfully "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in request processing "401": description: Header id_token with JWT invalid or absent description: Submit a transfer from one account (accountNumber) to another (accountCtpNumber) /payin/payment: summary: Submit a payment with payment method post: requestBody: description: All request data are embedded in a json structure in the body content: application/json: schema: $ref: "#/components/schemas/paymentRequest" examples: Payment with existing order: value: orderId: "2987721" transactionAmount: value: "70.10" currency: EUR transPaymentMethod: id: "4" endToEndId: Test breakdownList: - label: bdl1 transactionRef: ref1 sellerAccountNumber: 1300600000EUR01006110 amount: value: "70" currency: EUR - label: bdl2 transactionRef: ref2 sellerAccountNumber: 1300600000EUR01007110 amount: value: "0.10" currency: EUR required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentResponse" examples: Success SCT payment: value: resultCode: "0" orderId: "3343021" orderStatus: pending_payment transactionId: "1707521" transactionStatus: in_progress virtualIban: FR7618206004320000127591154 description: Payment processing success "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Error in processing "401": description: Header id_token with JWT invalid or absent description: |- When your shopper choose a payment method, this call submit the choice and any data if already given. The return can be final, (transaction completed) or ask to authentification details, or redirect the shopper to PSP or 3DS pages. /payin/paymentDetails: summary: Submit additionnal Payment Details post: requestBody: description: All request data are embedded in a json structure in the body content: application/json: schema: $ref: "#/components/schemas/paymentDetailsRequest" examples: Payment details: value: orderId: "123456789" paymentData: AMT=110328&CMD=1705821&AUTH=XXXXXX&USER=0&BRAND=CB&EXPIRY=2301&RESULT=00000&SAFE3DS=N&BIN=401200&CARD=12&U3DS=U&TIME=08%3A38%3A04&DATE=26032021&NUM=60078063&TRANS=33938398&ACCOUNT=CMDLpSqLLDS++2301++---&COUNTRY=FRA&SIGN=3Fu2QJJ%2F6iz%2F%2F5tjDkWf6AHEz8SASvfsOPn32lPYdgJ%2BF8oOeobUHz65tr%2B%2BBjsvxGrmzh7UQHjEyLura9eU8%2FvTGKRgKda%2Bz6xTZ9YpmA7MlxPNc0AofnHXoReumb%2B7%2BwvYpKZ46AjZQ8nICaZbgRrSD3Sq3yVpCZa1T9Pw3TM%3D required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentDetailsResponse" examples: Order Complete: value: resultCode: "0" orderId: "123456789" orderStatus: complete transactionId: "123123" transactionStatus: completed description: Payment transaction processed successfully "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Error in processing "401": description: Header id_token with JWT invalid or absent description: The call send the last mandatory data to finalize the payment /payin/capture: summary: Capture an already authorized operation post: requestBody: content: application/json: schema: $ref: "#/components/schemas/captureRequest" examples: capture of a transaction: value: orderId: "3343121" transactionId: "1707621" transactionAmount: value: "1000.20" currency: EUR breakdownList: - label: bdl1 sellerAccountNumber: 1300600000EUR01006110 amount: value: "1000" currency: EUR commission: amount: "1.01" account: 1300600000EUR01004110 - label: bdl2 sellerAccountNumber: 1300600000EUR01007110 amount: value: "0.20" currency: EUR required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/captureResponse" examples: Capture less than authorization: value: resultCode: "0" orderId: "3343121" orderStatus: partial_complete transactionList: - id: "1707621" type: "7" paymentMethodId: "36" status: completed amount: value: "1103.28" currency: EUR - id: "1707721" type: "1" paymentMethodId: "36" status: completed amount: value: "1000.20" currency: EUR description: Capture Done "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Error in capture processing "401": description: Header id_token with JWT invalid or absent description: Capture a payment transaction or all the capturable payment transactions of an order /payin/cancel: summary: Cancel a Transaction/Order post: requestBody: content: application/json: schema: $ref: "#/components/schemas/cancelRequest" examples: Cancel of a transaction: value: orderId: "432156" transactionId: "123456789" required: false responses: "200": content: application/json: schema: $ref: "#/components/schemas/cancelResponse" examples: cancel response: value: resultCode: "0" orderStatus: complete transactionList: - id: "123123123" status: completed amount: value: "100" currency: EUR paymentMethodId: "002" description: Cancelation Done "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in operation processing "401": description: Header id_token with JWT invalid or absent description: Cancel a payment transaction or all the payment transactions of an order /payin/orderDetails: summary: Get details for a payment get: parameters: - examples: Get order by id: value: orderId: "25465265" name: orderId description: id of the order. schema: type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" in: query required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/orderDetailsResponse" examples: Order not completed Yet: value: resultCode: "0" orderId: "26527635" orderStatus: pending_payment orderAmount: value: "1000" currency: EUR orderRemainingAmount: value: "500.87" currency: EUR transactionList: - id: "123123123" status: completed amount: value: "500.87" currency: EUR paymentMethodId: "002" description: Order retrieved successfully "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in order retireval "401": description: Header id_token with JWT invalid or absent description: Send back all the data of an order and its transactions /payin/adjustPayment: summary: Adjust the amount of the payment/ change the breakdown of the payment post: requestBody: description: All request data are embedded in a json structure in the body content: application/json: schema: $ref: "#/components/schemas/adjustPaymentRequest" examples: adjustPayment: value: orderId: "1354657" adjustAmount: value: "100" currency: EUR breakdownList: - label: bdl1 transactionRef: ref1 sellerAccountNumber: 1300600000EUR01006110 amount: value: "35" currency: EUR - label: bdl2 transactionRef: ref2 sellerAccountNumber: 1300600000EUR01007110 amount: value: "65" currency: EUR required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/ajustPaymentResponse" examples: adjustPayment: value: resultCode: "0" description: New amount and/ord breakdown successfully submitted "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in operation processing "401": description: Header id_token with JWT invalid or absent description: |- Before the cashing of the operation, change the payment amount and/or the breakdown If it's only a change in the breakdown, set the adjustAmount to the same of the transactionAmount /operations/list: summary: get operations matching a set of criterias post: requestBody: description: All request data are embedded in a json structure in the body content: application/json: schema: $ref: "#/components/schemas/operationsListRequest" examples: operations/list: value: pagination: "50" startDate: "010820101000" endDate: "281020101900" currency: EUR maxAmount: "200" minAmount: "1" offset: "1" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/operationsListResponse" examples: Valid response: value: resultCode: "0" operationList: - transactionId: "55811" reference: "20201021141554038" status: waiting type: Payment side: PAYIN date: "20201021" amount: value: "200" currency: EUR paymentMethodKey: SCT bic: AGRIFRPP777 virtualIban: FR7618206004320000115041197 label: Order 3478374 SCT breakdownList: - label: bdl1 sellerAccountNumber: 1300600000EUR01006110 amount: value: "35" currency: EUR - label: bdl2 sellerAccountNumber: 1300600000EUR01007110 amount: value: "35" currency: EUR description: To have the list of operation from a Marketplace "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Processing error "401": description: Header id_token with JWT invalid or absent description: Retrieve operation from criteria /paymentAccount: summary: get Account Details get: parameters: - examples: Get account details: value: accountNumber: "1300600000EUR01006110" name: accountNumber description: identifier of the account to get details. schema: type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" in: query required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/accountResponse" examples: success: value: resultCode: "0" account: number: 1300600000EUR01006110 name: marketPlace A reference: ref123 currency: EUR status: activated type: principal payoutAuto: "1" floorLimit: "100.00" balance: "528045.91" availableBalance: "527945.91" description: Account Details retrieved "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in order retireval "401": description: Header id_token with JWT invalid or absent description: Get account details /paymentAccount/list: summary: Get list of account with serach criteria post: requestBody: content: application/json: schema: $ref: "#/components/schemas/paymentAccountListRequest" examples: Account list: value: accountNumber: 1300600000EUR01005110 currency: EUR accountStatus: A required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentAccountListResponse" examples: success: value: resultCode: "0" lineCount: "2" accountList: - number: "1300600000EUR01004110" reference: "" currency: "EUR" status: "activated" floorLimit: "100.00" payoutAuto: "Y" name: "marketPlace A" type: "principal" - number: "1300600000EUR010024110" reference: "" currency: "EUR" status: "activated" floorLimit: "5.00" payoutAuto: "N" name: "marketPlace A" type: "principal" description: Response contains account list "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in order retireval "401": description: Header id_token with JWT invalid or absent description: Retrieve the accounts according to the search criteria /paymentAccount/credit: summary: Credit account post: requestBody: content: application/json: schema: $ref: "#/components/schemas/paymentAccountCreditRequest" examples: Credit: value: accountNumber: 1300600000EUR01005110 amount: "500.23" currency: EUR paymentMethodKey: SCT required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentAccountCreditResponse" examples: Credit Response: value: resultCode: "0" transactionId: "1289521" virtualIban: FR7618206004320000115091152 description: Account credit response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in request processing "401": description: Header id_token with JWT invalid or absent description: Credit payment account /paymentAccount/payoutAuto: summary: Activate or deactivate automatic payout post: requestBody: content: application/json: schema: $ref: "#/components/schemas/paymentAccountPayautoRequest" examples: Account list: value: accountNumber: 1300600000EUR01005110 amount: "200.00" frequency: "2" dayOfWeek: "1" paymentMethodAlias: PM2021011300GLR1100 required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentAccountPayautoResponse" examples: Success: value: resultCode: "0" description: Automatic payout response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in request processing "401": description: Header id_token with JWT invalid or absent description: the API allows you to configure the automatic payout /payin/paymentIframe: summary: Post your payment details and get an authent Code to initiate a payment Frame post: requestBody: description: All request data are embedded in a json structure in the body content: application/json: schema: $ref: "#/components/schemas/paymentIframeRequest" examples: startPayment: value: orderReference: ref0102636 orderCountryCode: FRA amount: value: "12.45" currency: EUR payer: reference: customer1 breakdownList: - label: ref1 sellerAccountNumber: 1300600000EUR60002411 amount: value: "12.00" currency: EUR - label: ref2 sellerAccountNumber: 1300600000EUR60002411 amount: value: "0.45" currency: EUR capture: "1" metaData: metaData: sample data urlRedirect: https://monsite.com/paymentEnd required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentIframeResponse" examples: Get iFrame URL: value: resultCode: "0" orderId: "249021" authentificationCode: db1a03ec-c6f5-565e-06ba-0df30507738c url: https://frontal.paymentsite.com?code=db1a03ec-c6f5-565e-06ba-0df30507738&site=1 site: "1" description: Start payment with iframe response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in operation processing "401": description: Header id_token with JWT invalid or absent description: |- When your shopper is ready to pay, submit your order/payment by this request and get an Authent Code. Then save the orderId and open an iframe for the shopper with the authentCode. /payin/refund: summary: Refund an operation post: requestBody: content: application/json: schema: $ref: "#/components/schemas/refundRequest" examples: Refund of a transaction: value: orderId: "14326513" transactionId: "123456789" transactionAmount: value: "100" currency: EUR payer: reference: customer_1363 breakdownList: - label: bdl1 sellerAccountNumber: 1300600000EUR01006110 amount: value: "98.20" currency: EUR commission: amount: "0.23" account: 1300600000EUR01004110 - label: bdl2 sellerAccountNumber: 1300600000EUR01004110 amount: value: "1.80" currency: EUR required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/refundResponse" examples: Get iFrame URL: value: resultCode: "0" orderId: "14326513" transactionId: "123456789" transactionList: - id: "123123123" status: completed amount: value: "100" currency: EUR paymentMethodId: "002" - id: "123123124" status: refund amount: value: "100" currency: EUR paymentMethodId: "002" description: Refund Done "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in request processing "401": description: Header id_token with JWT invalid or absent description: Refund a payment transaction or all the refundable payment transactions of an order /payin/mandate: summary: This API is used to get mandate signed file get: parameters: - examples: Get with transactionId: value: transactionId: 165231523612 x-example-number: 1 name: transactionId description: Must be a transaction for SDD. Must be provided if reference is not present. schema: type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" in: query required: false - examples: Get with mandate reference: value: reference: 2020110907201100Y0H1102 x-example-number: 2 name: reference description: Mandate reference (UMR). Must be provided if transationId is not present schema: type: string minLength: 1 maxLength: 26 pattern: "^[0-9a-zA-Z]+$" in: query required: false responses: "200": content: application/json: schema: $ref: "#/components/schemas/getMandateResponse" examples: Get mandate: value: resultCode: "0" reference: "202111191439350V8211102" transactionId: "165231523612" signedFileContent: "DHGZHGDFUDjkk..." description: Get SDD mandate signed file "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in request processing "401": description: Header id_token with JWT invalid or absent description: Get signed mandate file /payin/ticket: summary: This API is used to get ticket in JSON or in PDF format get: parameters: - examples: Transaction identifier: value: transactionId: "234352" name: transactionId description: Id of the transaction. Must be a card transaction. schema: type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" in: query required: true - examples: Ticket format JSON: value: format: "J" name: format description: "Ticket format : J JSON, P : PDF" schema: type: string minLength: 1 maxLength: 1 pattern: "[JP]" in: query required: true - examples: Ticket for merchant: value: type: "M" name: type description: "Ticket type : C client, M : merchant" schema: type: string minLength: 1 maxLength: 1 pattern: "[CM]" in: query required: true - examples: Message in bottom of ticket: value: message: "Message to display in the bottom of the PDF ticket" name: message description: Message to set in the bottom of the ticket. schema: type: string minLength: 1 maxLength: 200 in: query responses: "200": content: application/json: schema: $ref: "#/components/schemas/getTicketResponse" examples: JSON ticket: value: resultCode: "0" transactionId: "2851621" name: marketPlace A brand: CB maskedPan: 111122*************44 transactionStatus: "10" operationDate: "20211118" operationTime: "14:31:00" safe: N type: DEBIT authNumber: "1762763" transNumber: "35430234" contract: "1111119" amount: value: "1103.28" currency: EUR mode: TEST PDF ticket: value: resultCode: "0" transactionId: "2851621" fileContent: AHGDFHGHSGFHG... description: Get card payment ticket "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in request processing "401": description: Header id_token with JWT invalid or absent summary: Get card payment ticket description: This API is used to get ticket in JSON or in PDF format /paymentAccount/setIBAN: summary: Create a new payment method post: requestBody: content: application/json: schema: $ref: "#/components/schemas/paymentAccountSetIBANRequest" encoding: fileContent: contentType: image/png, image/jpeg, application/pdf, application/msword, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet headers: content-disposition: description: Value must be 'form-data; name="file"' schema: type: string content-transfer-encoding: description: Value must be 'base64' schema: type: string examples: Add IBAN: value: accountNumber: "1300600000EUR01006110" firstName: "Pierre" lastName: "Tramo" address: "3 rue de la paix" city: "Paris" postalCode: "75008" country: "FRA" fileType: "JPEG" fileContent: "JVBERi0xLjMKJcTl8uXrp/..." iban: "FR3730003000402582679694W42" currency: "EUR" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentAccountSetIBANResponse" examples: Start change IBAN: value: resultCode: "0" requestId: CAPS202111260V3SH1 paymentMethodAlias: PM202111260V3ST1100 description: Start change iban process response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in request processing "401": description: Header id_token with JWT invalid or absent summary: Start change IBAN process description: |- This function start the process to change IBAN. In response a requestID is provided to identify the change process. After validation in tyhe BO, the proprietary of the account will received an email with a link to validate this request. /paymentAccount/disableIBAN: summary: Disable current or pending payment method post: requestBody: content: application/json: schema: $ref: "#/components/schemas/paymentAccountDisableIBANRequest" examples: Disable existing IBAN: value: paymentMethodAlias: PM2021011300GLR1100 Disable pending change IBAN: value: requestId: CAPS202111260V3SH1 required: false responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentAccountDisableIBANResponse" examples: success: value: resultCode: "0" description: Disable IBAN response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in request processing "401": description: Header id_token with JWT invalid or absent description: Disable current or pending payment method /accountHolder/register: summary: Start registering new account holder post: requestBody: content: application/json: schema: $ref: "#/components/schemas/accountHolderRegisterRequest" examples: Register new holder: value: socialReason: My compagny compagnyName: The compagny country: FRA legalForm: SAS registrationNumber: "4252378780001" masterAddress: address: Rue d'ici city: Ville postalCode: "75000" country: FRA turnover: "456789.00" currency: EUR regulatedSociety: N physicalPersons": gender: M firstName: John lastName: Smith email: js@mycompagny.com birthDate: "19750116" phoneNumber: "336123456789" roles: - role: BE - role: CP account: country: "FRA" currency: "EUR" iban: "FR7611808009101234567890147" floorLimit: "230.00" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/accountHolderRegisterResponse" examples: Registration id and docucments: value: resultCode: "0" requestId: CAPS202111260V3SA1 accountNumber: 1300600000EUR1270489911 paymentMethodAlias: PM202111260V3FG1100 requirements: - id: "145511" label: "Convention de compte" code: ACCOUNT_AGR mandatory: "Y" fileType: "Account agreement" - id: "145611" label: "Justificatif bancaire" code: BANK_ID mandatory: "Y" fileType: "Professional RIB on behalf of the individual" - id: "145611" label: "Justificatif bancaire" mandatory: "Y" fileType: "Professional RIB on behalf of the legal entity" - id: "145711" label": "Justificatif economique" mandatory: "Y" fileType: "BATICA Certificate of Deposit or Register Extract" - id: "145811" label: "Justificatif d'enregistement" mandatory: "Y" fileType: "Company Kbis extract less than 3 months old" - id: "145811" label: "Justificatif d'enregistement" mandatory: "Y" fileType: "Copy of the articles of association" - id: "145811" label: "Justificatif d'enregistement" mandatory: "Y" fileType: "AG PV" - id: "145911" label: "Questionnaire PAYS" mandatory: "N" fileType: "Country questionnaire" physicalPersons: - id: "270490011" firstName: "Jhon" lastName: "Smith" requirements: - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Passeport" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Id card" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Residence permit" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Company Kbis extract less than 3 months old" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Front-side ID card" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Back ID card" description: Start register response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Response when error is detected "401": description: Header id_token with JWT invalid or absent description: Start registering new account holder /accountHolder/update: summary: Start registering new account holder post: requestBody: content: application/json: schema: $ref: "#/components/schemas/accountHolderUpdateRequest" examples: Modify holder: value: requestId: CAPS202111260V3SA1 socialReason: My compagny compagnyName: The compagny country: FRA registrationNumber: "4252378780001" masterAddress: address: Rue d'ici city: Ville postalCode: "75000" country: FRA turnover: "456789.00" currency: "EUR" regulatedSociety: N physicalPersons": id: "270490011" gender: M firstName: John lastName: Dhoe email: js@mycompagny.com birthDate: "19750116" phoneNumber: "336123456789" roles: - role: BE - role: CP account: country: "FRA" currency: "EUR" iban: "FR7611808009101234567890147" floorLimit: "230.00" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/accountHolderUpdateResponse" examples: Registration id and docucments: value: resultCode: "0" requestId: CAPS202111260V3SA1 accountNumber: 1300600000EUR1270489911 paymentMethodAlias: PM202111260V3FG1100 requirements: - id: "145511" label: "Convention de compte" mandatory: "Y" fileType: "Account agreement" - id: "145611" label: "Justificatif bancaire" mandatory: "Y" fileType: "Professional RIB on behalf of the individual" - id: "145611" label: "Justificatif bancaire" mandatory: "Y" fileType: "Professional RIB on behalf of the legal entity" - id: "145711" label": "Justificatif economique" mandatory: "Y" fileType: "BATICA Certificate of Deposit or Register Extract" - id: "145811" label: "Justificatif d'enregistement" mandatory: "Y" fileType: "Company Kbis extract less than 3 months old" - id: "145811" label: "Justificatif d'enregistement" mandatory: "Y" fileType: "Copy of the articles of association" - id: "145811" label: "Justificatif d'enregistement" mandatory: "Y" fileType: "AG PV" - id: "145911" label: "Questionnaire PAYS" mandatory: "N" fileType: "Country questionnaire" physicalPersons: - id: "270490011" firstName: "Jhon" lastName: "Dhoe" requirements: - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Passeport" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Id card" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Residence permit" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Company Kbis extract less than 3 months old" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Front-side ID card" - id": "146011" label": "Justificatif d'identite" mandatory": "Y" fileType": "Back ID card" description: Update register response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Response when error is detected "401": description: Header id_token with JWT invalid or absent description: Update account holder registration /accountHolder/uploadDocument: summary: Start registering new account holder post: requestBody: content: application/json: schema: $ref: "#/components/schemas/accountHolderUploadDocumentRequest" encoding: fileContent: contentType: image/png, image/jpeg, application/pdf, application/msword, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet headers: content-disposition: description: Value must be 'form-data; name="file"' schema: type: string content-transfer-encoding: description: Value must be 'base64' schema: type: string examples: uplaod one document: value: requestId: CAPS202111260V3SA1 requirements: - id: "146011" fileType: Id card fileExt: JEPG fileContent: /9j/4AAQSkZJRgABAQAAAQABAAD... required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/accountHolderUploadDocumentResponse" examples: Documents not already uploaded: value: resultCode: "0" requestId: CAPS202111260V3SA1 requirements: - id: "145511" label: "Convention de compte" mandatory: "Y" fileType: "Account agreement" - id: "145611" label: "Justificatif bancaire" mandatory: "Y" fileType: "Professional RIB on behalf of the individual" - id: "145611" label: "Justificatif bancaire" mandatory: "Y" fileType: "Professional RIB on behalf of the legal entity" - id: "145711" label": "Justificatif economique" mandatory: "Y" fileType: "BATICA Certificate of Deposit or Register Extract" - id: "145811" label: "Justificatif d'enregistement" mandatory: "Y" fileType: "Company Kbis extract less than 3 months old" - id: "145811" label: "Justificatif d'enregistement" mandatory: "Y" fileType: "Copy of the articles of association" - id: "145811" label: "Justificatif d'enregistement" mandatory: "Y" fileType: "AG PV" - id: "145911" label: "Questionnaire PAYS" mandatory: "N" fileType: "Country questionnaire" physicalPersons: - id: "270490011" firstName: "Jhon" lastName: "Dhoe" description: Upload document response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Response when error is detected "401": description: Header id_token with JWT invalid or absent description: Upload document in registration process /accountHolder/registrationDetails: summary: Get registration information and status get: parameters: - examples: Request ID: value: requestId=2176372 name: requestId description: Registration request identifier schema: type: string minLength: 1 maxLength: 18 pattern: "^[0-9a-zA-Z]+$" in: query required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/accountHolderRegisterResponse" examples: Registartion status: value: resultCode: "0" requestId: CAPS202111260V3L61 status: To validate requirements: - mandatory: Y status: Missing id: "140811" label: Convention de compte documents: - fileType: Account agreement validated: N - mandatory: Y status: Missing id: "140911" label: Justificatif bancaire documents: - fileType: Professional RIB on behalf of the individual validated: N - fileType: Professional RIB on behalf of the legal entity validated: N - mandatory: Y status: Missing id: "141011" label: Justificatif economique documents: - fileType: BATICA Certificate of Deposit or Register Extract validated: N - mandatory: Y status: Missing id: "141111" label: Justificatif d'enregistement documents: - fileType: Company Kbis extract less than 3 months old validated: N - fileType: Copy of the articles of association validated: N - fileType: AG PV validated: N - mandatory: N status: Missing id: "141211" label: Questionnaire PAYS documents: - fileType: Country questionnaire, validated: N physicalPersons: - id: "270486711" firstName: John lastName: Smith requirements: - id: "141311" label: Justificatif d'identite mandatory: Y status: Missing documents: - fileType: Passeport validated: N - fileType: Id card validated: N - fileType: Residence permit validated: N - fileType: Company Kbis extract less than 3 months old validated: N - fileType: Front-side ID card validated: N - fileType: Back ID card validated: N description: registration information response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Response error "401": description: Header id_token with JWT invalid or absent description: Get registration details /accountHolder/unregister: summary: Unregister pending account holder registration post: requestBody: content: application/json: schema: $ref: "#/components/schemas/accountHolderUnregisterRequest" examples: Stop register process: value: requestId: CAPS202111260V3SA1 required: false responses: "200": content: application/json: schema: $ref: "#/components/schemas/accountHolderUnregisterResponse" examples: success: value: resultCode: "0" description: Result response "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Error response "401": description: Header id_token with JWT invalid or absent description: Unregister pending account holder registration /payin/paymentMethods: summary: Request a payment post: requestBody: description: All request data are embedded in a json structure in the body content: application/json: schema: $ref: "#/components/schemas/paymentMethodsRequest" examples: Payment Init Example: value: paymentAccount: 1300600000EUR01004110 orderReference: ORDREF20210203180537394 orderCountryCode: FRA amount: value: "70" currency: EUR payer: language: FR reference: CREF_20210203180537464 IPAddress: 192.168.0.1 required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentMethodsResponse" examples: Return Init Example: value: resultCode: "0" paymentMethodList: - id: "1" label: SCT transfer type: "2" - id: "2" label: card payment type: "4" aliasList: - id: "001" label: carte xxx expirationDate: "202505" maskedPan: 123456xxxxxx1234 description: Order created/retrieved, Available Payment Methods selected "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: Error in processing "401": description: Header id_token with JWT invalid or absent description: |- When your shopper is ready to pay, submit an order and get a list of the available payment methods and alias. The list is based on the shopper country and the order amount and currency. This is the first call to use when going on a payment operation. The next call should be /payment /paymentAccount/setFloorLimit: summary: Modifiy account floor limit post: requestBody: content: application/json: schema: $ref: "#/components/schemas/paymentAccountSetFloorLimitRequest" examples: Change account floor limit: value: accountNumber: "1300600000EUR01006110" amount: value: "100.00" currency: "EUR" required: true responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentAccountSetFloorLimitResponse" examples: Change floor limit result: value: resultCode: "0" description: Change account floor limit "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in request processing "401": description: Header id_token with JWT invalid or absent summary: Start change IBAN process description: |- This function start the process to change IBAN. In response a requestID is provided to identify the change process. After validation in tyhe BO, the proprietary of the account will received an email with a link to validate this request. /paymentAccount/report: summary: Get report get: parameters: - examples: Get account details: value: accountNumber: "1300600000EUR01006110" name: accountNumber description: identifier of the account to get details. Mandatory if type ACCOUNT_STATEMENT. schema: type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" in: query - examples: Get statement report: value: type: "ACCOUNT_STATEMENT" name: type description: |- Type of report. Can be one of follonging value: - ACCOUNT_STATEMENT - INVOICE - IC_FEE_REPORT schema: type: string minLength: 1 maxLength: 30 enum: - ACCOUNT_STATEMENT - INVOICE - IC_FEE_REPORT in: query required: true - examples: Get PDF report: value: format: "P" name: format description: |- Format of the report: - P: PDF format - C: CSV format (not yet implemented) schema: type: string minLength: 1 maxLength: 1 enum: - P - C in: query required: true - examples: Get 2022 report: value: year: "2022" name: year description: Year of the report in AAAA format. Must be less or equal to the current year. schema: type: string minLength: 4 maxLength: 4 pattern: "^[0-9]+$" in: query required: true - examples: Get february report: value: month: "02" name: month description: Month of the report in MM format. Must be less or equal to the current month. schema: type: string minLength: 2 maxLength: 2 enum: - "01" - "02" - "03" - "04" - "05" - "06" - "07" - "08" - "09" - "10" - "11" - "12" in: query responses: "200": content: application/json: schema: $ref: "#/components/schemas/paymentAccountReportResponse" examples: success: value: resultCode: "0" type: "ACCOUNT_STATEMENT" year: "2022" month: "02" fileContent: "kjhfkjhzeuiuAIUYIdu...JSHKFJHKSJFH==" description: Report in base64 "400": content: application/json: schema: $ref: "#/components/schemas/errorResponse" description: error in order retireval "401": description: Header id_token with JWT invalid or absent description: Get account details components: schemas: account: description: Account information type: object properties: number: description: Number of the account type: string name: description: Thirdparty name type: string status: $ref: "#/components/schemas/accountStatus" description: "" currency: $ref: "#/components/schemas/currencyCode" description: "" type: description: Account type type: string payoutAuto: description: 1 if payout auto activated type: string floorLimit: description: Minimum amount for payout auto type: string balance: description: Account balance type: string availableBalance: description: |- Avalibale balance is the balance minus the floor limit. Set to 0 if result is negative type: string currencyCode: description: Currency code in 3 characters ISO format type: string minLength: 3 maxLength: 3 pattern: "^[A-Z]+$" sellerReference: description: Reference to the seller type: string minLength: 1 maxLength: 50 pattern: "^[a-zA-Z0-9]+$" resultCodeMessage: description: |- The failure description. The message can be used to understand the failure reason. It must be transmitted to support for diagnostic. type: string resultCode: description: |- API operation result. This code is 0 in case of success. If resultCode is not 0, the operation fails. In this case, a resultCodeMessage describe the reason of failure. resultCodeMessage can be absent if no reason is provided for the resultCode. type: string transactionRef: description: Reference for the transaction type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" metaData: description: JSON data for the marketplace. This data is not used by payment systems. type: object additionalProperties: true minLength: 2 maxLength: 2048 orderStatus: description: |- Status of an order. the following status can be provided: - created: The order is created - pending_payment: Payment in progress - complete: Payment is completed - partial_complete: Payment is completed but all order amount is not payed - canceled: The order is canceled enum: - created - pending_payment - partial_complete - complete - canceled type: string accountNumber: description: A string representing the account number. type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" countryCode: description: The ISO country code in 3 characters format type: string minLength: 3 maxLength: 3 pattern: "^[A-Z]+$" orderReference: description: |- Marketplace reference for this order. Characters authorized are: a to z, A to Z, 0 to 9 and - / . + : and space type: string minLength: 1 maxLength: 50 pattern: "^[-a-zA-Z0-9.+:]+(\/?[-a-zA-Z0-9.+: ])*([-a-zA-Z0-9.+:])+$" transactionId: description: Id of the payment transaction. type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" operationRef: description: Reference for the operation type: string minLength: 1 maxLength: 18 operationSide: description: |- direction of the operation - PAYIN: Receive funds - PAYOUT: Export funds - TRANSFER: Transfer between internal account enum: - PAYIN - PAYOUT - TRANSFER type: string aliasId: description: Identifier for the alias type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" paymentMethodId: description: |- id (string) : ID of the type of payment method. This id must be provided to identify the payment method. The list of payment method IDs is provided when your AgoraPay account is created. type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" paymentMethodAlias: description: Alias identifying a previously registered payment method. type: string minLength: 1 maxLength: 50 pattern: "^[a-zA-Z0-9]+$" paymentMethodTypeId: description: |- Id of the type of payment method. - 1: Sepa Direct Debit - 2: Sepa Credit Transfer - 3: Transfer - 4: Card - 5: SWIFT - 6: Sepa Direct Debit B2B - 7: Letter of credit - 8: Voucher - 9: Remainder - 10: SCT instant - 11: PISP enum: - "1" - "2" - "3" - "4" - "5" - "6" - "7" - "8" - "9" - "10" - "11" type: string paymentData: description: Specific data for a payment method type: string minLength: 1 maxLength: 2048 paymentMethodKey: description: |- Key identifier of the payment method type id - SDD: Sepa Direct Debit - SCT: Sepa Credit Transfer - CARD: Payment with card - SDD B2B: Sepa Direct Debit for B2B - PISP: PISP enum: - SDD - SCT - CARD - SDD B2B - PISP type: string transferResponse: description: "" required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" transactionId: $ref: "#/components/schemas/transactionId" description: "" paymentAccount: description: |- "Account number of the marketplace. If not provided, the account number identified by the id_token header is used. If this payment account is provided, it must be a child account of the account identified by the header id_token. type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" details: description: |- Payment details information For some payment methods, additional details are needed. type: object properties: firstName: description: "" type: string minLength: 1 maxLength: 38 lastName: description: "" type: string minLength: 1 maxLength: 38 address: description: Road name and number type: string minLength: 1 maxLength: 38 city: description: "" type: string minLength: 1 maxLength: 30 postalCode: description: "" type: string minLength: 1 maxLength: 10 pattern: "^[-a-zA-Z0-9 ]+$" country: description: Country in 3 letters ISO format type: string minLength: 3 maxLength: 3 pattern: "^[A-Z]+$" iban: description: "" type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" email: description: "" type: string minLength: 1 maxLength: 50 pattern: "^[^ ]+@[-a-zA-Z0-9_]+?.[a-zA-Z]{2,3}$" state: description: "" type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9 ]+$" gender: description: "" type: string minLength: 1 maxLength: 1 pattern: "[MF]" phoneNumber: description: "" type: string minLength: 1 maxLength: 16 pattern: "^([+]|0|00)[1-9][0-9]{7,15}$" sequence: description: |- For payment method with mandate, the sequence is - FRST for first use of recurrent mandate - RCUR for use of recurrent mandate - FNAL for last use of recurrent mandate - OOFF for a mandate used only one time enum: - FRST - RCUR - FNAL - OOFF type: string reference: description: |- Mandate reference in case of a SDD payment. transactionId of the initial payment in case of a card recurring payment. type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" socialReason: description: Compagny name type: string minLength: 1 maxLength: 50 address2: description: Additional address type: string minLength: 1 maxLength: 38 virtualIban: description: Iban to make payment to for SCT or SWIFT method type: string commission: description: Commission information required: - amount type: object properties: amount: description: Amout of the commission in the currency of the order with two decimal maximum type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" account: description: Commission accountNumber type: string minLength: 1 maxLength: 26 pattern: "^[a-zA-Z0-9]+$" reference: description: reference of the customer from the marketplace type: string minLength: 1 maxLength: 30 pattern: "^[-a-zA-Z0-9()/?:.+ _]+$" mndtSequence: description: |- Mandate sequence - FRST for first use of recurrent mandate - RCUR for use of recurrent mandate - FNAL for last use of recurrent mandate - OOFF for a mandate used only one time enum: - FRST - RCUR - FNAL - OOFF type: string capture: description: Capture indicator. Set to "0" for authorization only (default value 1 - transaction captured)) type: string enum: - "1" - "0" - "Y" - "N" urlRedirectIn: description: |- Url where the customer must be redirected at the end of the payment with the partner. This URL is completed by /success, /error or /cancel according to the partner response status. When the customer will be redirected to the marketPlace at the end of the partner payment process, the paymentDetails function must be called to terminate payment with the data transmitted by the partner. For development purpose, you can use http://127.0.0.1 (localhost is not supported) type: string minLength: 1 maxLength: 255 pattern: "^https?://(www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)$" urlRedirectOut: description: |- Url to redirect the customer to continue the payment flow with an external partner. The marketplace must redirect its customer to this url to continue the payment process type: string reason: description: Operation label transmitted in payment system. Maximum length of 140 characters. type: string minLength: 1 maxLength: 140 pattern: "^[-a-zA-Z0-9/.+_ ]+$" registerAlias: description: |- When set to "1" or "Y", an alias will be registered when the payment will be completed, if possible. If not present or equal to "0" or "N", no alias is registered. type: string enum: - "1" - "0" - "Y" - "N" endToEndId: description: |- Use to identify transaction in SEPA transfer. Autorized characters are alpha numeric, - and /. Characters / and space are authorized but not in first and last position. Also, two // are not allowed. type: string minLength: 2 maxLength: 35 pattern: "^[-a-zA-Z0-9]+(\/?[-a-zA-Z0-9 ])*([-a-zA-Z0-9])+$" accountList: description: Account information type: object properties: number: description: Number of the account type: string name: description: Thirdparty name type: string status: $ref: "#/components/schemas/accountStatusCode" description: "" currency: $ref: "#/components/schemas/currencyCode" description: "" type: description: Account type type: string payoutAuto: description: 1 if payout auto activated type: string floorLimit: description: Minimum amount for payout auto type: string reference: description: Account reference type: string accountStatusCode: description: |- Account status code in one char length A: Activated D: Deactivated R: Registered S: Suspended enum: - "A" - "D" - "R" - "S" type: string requestId: description: ID to identify processing request type: string minLength: 1 maxLength: 18 pattern: "^[0-9a-zA-Z]+$" IBAN: description: International Bank Account Number type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" gender: description: Person gender M or F enum: - M - F type: string personRole: description: |- Role of a physical person - BE: Beneficial owner - D: Manager - MD: Mandatary - CP: Legal representative enum: - BE - D - MD - CP type: string accountHolder: description: "" type: object properties: status: description: Account holder status type: string accountNumber: $ref: "#/components/schemas/accountNumber" description: "" requestId: $ref: "#/components/schemas/requestId" description: If registration is pending role: description: |- Role of a physical person - BE : Beneficial owner - D : Manager - MD : Mandatary - CP : Legal representative enum: - BE - D - MD - CP type: string accountHolderRegisterResponse: description: Start register new account holder response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" requestId: description: Id used for futher update function call type: string accountNumber: $ref: "#/components/schemas/accountNumber" description: "" paymentMethodAlias: $ref: "#/components/schemas/paymentMethodAlias" description: "" requirements: description: "" type: array items: $ref: "#/components/schemas/requirementResponse" physicalPersons: description: "" type: array items: $ref: "#/components/schemas/registerPersonResponse" accountHolderRegisterRequest: description: Start register new account holder request required: - socialReason - country - legalForm - registrationNumber - masterAddress - turnover - regulatedSociety - physicalPersons - account - currency - owner type: object properties: socialReason: description: Holder name type: string minLength: 1 maxLength: 50 compagnyName: description: Commercial name type: string minLength: 1 maxLength: 50 currency: $ref: "#/components/schemas/currencyCode" description: "" minLength: 2 maxLength: 3 pattern: "^[A-Z]+$" country: $ref: "#/components/schemas/countryCode" description: "" minLength: 3 maxLength: 3 pattern: "^[A-Z]+$" legalForm: description: "" type: string minLength: 1 maxLength: 50 registrationNumber: description: Identification number for entity. For example, SIRET for France type: string minLength: 1 maxLength: 50 pattern: "^[-A-Z0-9]+$" masterAddress: $ref: "#/components/schemas/registerAddress" description: "" commercialAddress: $ref: "#/components/schemas/registerAddress" description: Same as master address if not provided turnover: description: Current or last year turnover in account currency code unit type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" regulatedSociety: description: Y or N type: string minLength: 1 maxLength: 1 enum: - "Y" - "N" physicalPersons: description: At least one person must be provided with CP role type: array items: $ref: "#/components/schemas/registerPersonRequest" account: $ref: "#/components/schemas/registerAccount" description: "" owner: description: "Account owner information" required: - address - city - postalCode - country type: object properties: gender: type: string enum: - M - F firstName: type: string minLength: 1 maxLength: 50 lastName: type: string minLength: 1 maxLength: 50 socialReason: type: string minLength: 1 maxLength: 50 address: type: string minLength: 1 maxLength: 38 city: type: string minLength: 1 maxLength: 38 postalCode: type: string minLength: 1 maxLength: 10 pattern: "^[-a-zA-Z0-9 ]+$" country: type: string minLength: 3 maxLength: 3 pattern: "[A-Z][A-Z][A-Z]" accountHolderRegistrationDetailsResponse: description: Account holder register details response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" requestId: description: Id used for futher update function call type: string accountNumber: $ref: "#/components/schemas/accountNumber" description: "" paymentMethodAlias: $ref: "#/components/schemas/paymentMethodAlias" description: "" requirements: description: "" type: array items: $ref: "#/components/schemas/requirementResponseDetail" physicalPersons: description: "" type: array items: $ref: "#/components/schemas/registerPersonResponseDetail" accountHolderUnregisterRequest: description: Unregister pending holder registration request required: - requestId type: object properties: requestId: $ref: "#/components/schemas/requestId" description: "" accountHolderUnregisterResponse: description: Unregister pending holder registration response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" accountHolderUpdateRequest: description: Update holder registration request required: - requestId type: object properties: socialReason: description: Holder name type: string minLength: 1 maxLength: 50 compagnyName: description: Commercial name type: string minLength: 1 maxLength: 50 country: $ref: "#/components/schemas/countryCode" description: "" minLength: 3 maxLength: 3 pattern: "^[A-Z]+$" masterAddress: $ref: "#/components/schemas/registerAddress" description: "" commercialAddress: $ref: "#/components/schemas/registerAddress" description: Same as master address if not provided turnover: description: Current or last year turnover in account currency code unit type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" regulatedSociety: description: Y or N type: string enum: - "Y" - "N" physicalPersons: description: At least one person must be provided with CP role type: array items: $ref: "#/components/schemas/registerPersonUpdateRequest" account: $ref: "#/components/schemas/registerAccount" description: "" owner: description: "Account owner information" required: - address - city - postalCode - country type: object properties: gender: type: string enum: - M - F firstName: type: string minLength: 1 maxLength: 50 lastName: type: string minLength: 1 maxLength: 50 socialReason: type: string minLength: 1 maxLength: 50 address: type: string minLength: 1 maxLength: 38 city: type: string minLength: 1 maxLength: 38 postalCode: type: string minLength: 1 maxLength: 10 pattern: "^[-a-zA-Z0-9 ]+$" country: type: string minLength: 3 maxLength: 3 pattern: "[A-Z][A-Z][A-Z]" currency: $ref: "#/components/schemas/currencyCode" description: Required if turnover provided requestId: $ref: "#/components/schemas/requestId" description: "" accountHolderUpdateResponse: description: update holder registration response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" requestId: description: Id used for futher update function call type: string accountNumber: $ref: "#/components/schemas/accountNumber" description: "" paymentMethodAlias: $ref: "#/components/schemas/paymentMethodAlias" description: "" requirements: description: "" type: array items: $ref: "#/components/schemas/requirementResponse" physicalPersons: description: "" type: array items: $ref: "#/components/schemas/registerPersonResponse" accountHolderUploadDocumentRequest: description: Upload holder registration request required: - requirements - requestId type: object properties: requirements: description: "" type: array items: $ref: "#/components/schemas/requirementUploadRequest" requestId: $ref: "#/components/schemas/requestId" description: "" accountHolderUploadDocumentResponse: description: Upload holder registration response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" requestId: description: Id used for futher update function call type: string requirements: description: "" type: array items: $ref: "#/components/schemas/requirementResponse" physicalPersons: description: "" type: array items: $ref: "#/components/schemas/registerPersonResponse" accountResponse: description: Get account information response required: - resultCode type: object properties: account: $ref: "#/components/schemas/account" description: "" resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" accountType: description: |- Type of account - 1: principal - 3: waiting - 4: suspense - 5: change - 6: commission - 13: voucher - 14: reliquat - 15: autorization - 16: pre-autorization enum: - "1" - "3" - "4" - "5" - "6" - "13" - "14" - "15" - "16" type: string ajustPaymentResponse: description: Adjust amount or breakdown list response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" alias: description: Alias description required: - id type: object properties: id: $ref: "#/components/schemas/aliasId" description: "" expirationDate: description: format MMYY type: string maskedPan: description: Hidden card number or IBAN type: string label: description: label of the alias type: string brand: description: Card brand (CB, VISA, MASTERCARD) or bank code for IBAN type: string bankCode: description: "" type: string accountStatus: description: |- The status of the account - activated: account si available - deactivated: account is no more available - registered: account is not activated yet - suspended: account is temporay not available enum: - activated - deactivated - registered - suspended type: string adjustPaymentRequest: description: The request to change the amount or submit a new breakdown list type: object properties: breakdownList: description: List of breakdown type: array items: $ref: "#/components/schemas/breakdown" metaData: description: "" $ref: "#/components/schemas/metaData" adjustAmount: $ref: "#/components/schemas/adjustAmount" description: Amount to ajust. Must be absent for payment type card. orderId: $ref: "#/components/schemas/orderId" description: "" transactionId: $ref: "#/components/schemas/transactionId" description: "" aliasSimple: description: Alias identification to used required: - id type: object properties: id: $ref: "#/components/schemas/aliasId" description: "" amount: description: amount information required: - currency - value type: object properties: value: description: |- The value of the amount in decimal with max 2 digits after separator. Only digits and dot are authorized. type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" currency: description: the currency iso code of the amount with 3 characters type: string minLength: 3 maxLength: 3 pattern: "^[A-Z]+$" adjustAmount: description: Mandatory if the amount is different than the initial payment. required: - currency - value type: object properties: value: description: |- The value of the amount in decimal with max 2 digits after separator. Only digits and dot are authorized. type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" currency: description: the currency iso code of the amount with 3 characters type: string minLength: 3 maxLength: 3 pattern: "^[A-Z]+$" breakdown: description: The breakdown of the order if needed. required: - amount - sellerAccountNumber - label type: object properties: amount: $ref: "#/components/schemas/amount" description: amount of the breakdown sellerAccountNumber: $ref: "#/components/schemas/sellerAccountNumber" description: "" label: description: Label for the breakdown. Maximum 30 characters type: string minLength: 1 maxLength: 30 pattern: "^[-a-zA-Z0-9_()/?:.,+;' ]+$" commission: $ref: "#/components/schemas/commission" description: "" breakdownSimple: description: The breakdown of the order required: - amount - sellerAccountNumber - label type: object properties: amount: $ref: "#/components/schemas/amount" description: amount of the breakdown sellerAccountNumber: $ref: "#/components/schemas/sellerAccountNumber" description: "" label: description: Label for the breakdown type: string minLength: 1 maxLength: 30 pattern: "^[-a-zA-Z0-9_()/?:.,+;' ]+$" cancelRequest: description: The minimal set of properties required to perform a cancel required: - orderId type: object properties: orderId: description: Order id obtained when the payment was made and the order was created. type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" transactionId: $ref: "#/components/schemas/transactionId" description: "" metaData: $ref: "#/components/schemas/metaData" description: "" captureRequest: description: The minimal set of properties required to perform a capture required: - orderId - transactionAmount type: object properties: orderId: $ref: "#/components/schemas/orderId" description: "" transactionAmount: $ref: "#/components/schemas/amount" description: Capture amount metaData: $ref: "#/components/schemas/metaData" description: "" breakdownList: description: "" type: array items: $ref: "#/components/schemas/breakdown" transactionId: $ref: "#/components/schemas/transactionId" description: "" errorResponse: description: Structure of the response when an error is replied required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" getMandateResponse: description: Get mandate response type: object properties: resultCode: $ref: "#/components/schemas/resultCode" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" transactionId: $ref: "#/components/schemas/transactionId" reference: $ref: "#/components/schemas/mndtRef" signedFileContent: description: PDF file base64 encoded type: string getTicketResponse: description: getTicket Response. If format is P, only fields resultCode, transactionId and fileContent are present type: object properties: resultCode: $ref: "#/components/schemas/resultCode" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" transactionId: $ref: "#/components/schemas/transactionId" name: type: string brand: type: string maskedPan: description: Hidden card number type: string transactionStatus: $ref: "#/components/schemas/transactionStatus" operationDate: $ref: "#/components/schemas/operationDate" operationTime: description: Operation time in HH:MM:SS format type: string safe: description: Y if 3DS is verified type: string type: description: "1: DEBIT, 2: CREDIT" type: string authNumber: type: string transNumber: description: Transaction number in PSP type: string amount: $ref: "#/components/schemas/amount" description: Purchase amount mode: description: PROD or TEST type: string fileContent: description: PDF file content base64 encoded, if format is P type: string contract: description: Payment partner contract number type: string operation: description: Operation information required: - amount - transactionId - side - status - type type: object properties: amount: $ref: "#/components/schemas/amount" description: Amount of the operation date: description: "operation Date " type: string side: $ref: "#/components/schemas/operationSide" description: "" type: $ref: "#/components/schemas/operationType" description: type of the operation status: $ref: "#/components/schemas/operationStatus" description: status of the operation breakdownList: description: List of breakdown type: array items: $ref: "#/components/schemas/breakdownSimple" metaData: $ref: "#/components/schemas/metaData" description: "" transactionId: $ref: "#/components/schemas/operationRef" description: "" creationDateTime: description: "ISO 8601 format (ex: 20210325T082300+01:00)" type: string accountNumber: $ref: "#/components/schemas/accountNumber" description: "" cachedCumulAmount: description: Amount already cached type: string orderReference: $ref: "#/components/schemas/orderReference" description: "" accountCurrencyCode: $ref: "#/components/schemas/currencyCode" description: "" operationLabel: $ref: "#/components/schemas/operationLabel" description: "" relatedMsgStatusLabel: description: Status explanation type: string thirdPartyName: description: "" type: string accountType: $ref: "#/components/schemas/accountType" description: "" accountCptNumber: $ref: "#/components/schemas/accountNumber" description: "" accountCptTypeLabel: $ref: "#/components/schemas/accountType" description: "" accountCptCurrencyCode: $ref: "#/components/schemas/currencyCode" description: "" thirdPartyCptName: description: "" type: string operationDate: description: |- Date of the operation. The format must be YYYYMMDD type: string operationLabel: description: Label of the operation type: string operationsListResponse: description: List of operation matching the request required: - operationList type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" operationList: description: List of operation matching the request type: array items: $ref: "#/components/schemas/operation" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" lineCount: description: Total number of lines type: string operationStatus: description: |- Status of the operation - registered: operation is registered - waiting: operation is waiting for funds - cashed: funds are received - cancelled: operation is canceled - suspended: operation is temporay suspended - rejected: operation is rejeted by peer enum: - registered - waiting - cashed - cancelled - suspended - rejected type: string operationType: description: |- Type of the operation - 1: Purchase - 2: Refund - 3: Manual - 4: Transfer - 5: Payment - 6: Reload/Payout - 7: Authorization - 8: Pre-authorization - 9: Unpaid - 11: Fees enum: - "1" - "2" - "3" - "4" - "5" - "6" - "7" - "8" - "9" - "11" type: string orderId: description: Order id obtained in order creation type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" payer: description: Payer's details required: - reference type: object properties: IPAddress: description: IP address of the customer. IPv4 and IPv6 formats are accepted. type: string minLength: 1 maxLength: 39 pattern: "((^(((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])))$))" reference: description: reference of the customer from the marketplace type: string minLength: 1 maxLength: 100 userAgent: description: The browser information used to request the payment type: string minLength: 1 maxLength: 255 language: description: |- The default language of the browser. The first two characters are used to identify the language code. Must be in upper case. Only french is supported at this time. type: string minLength: 2 maxLength: 2 pattern: "^[A-Z]+$" payerSimple: description: payer information required: - reference type: object properties: reference: description: Reference of the customer from the marketplace, which must be equal to the initial reference type: string minLength: 1 maxLength: 100 language: description: |- The default language of the browser. The first two characters are used to identify the language code. Must be in upper case. Only french is supported at this time. type: string minLength: 2 maxLength: 2 pattern: "^[A-Z]+$" paymentAccountCreditRequest: description: Data in input of paymentAccount credit request required: - amount - currency - accountNumber - paymentMethodKey type: object properties: accountNumber: $ref: "#/components/schemas/accountNumber" description: "" amount: description: Recharge amount type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" currency: $ref: "#/components/schemas/currencyCode" description: "" paymentMethodKey: description: |- Key identifier of the payment method type id. The following method are available: - SCT: Sepa Credit Transfer enum: - SCT type: string paymentAccountCreditResponse: description: Payment account credit response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" transactionId: $ref: "#/components/schemas/transactionId" description: "" virtualIban: $ref: "#/components/schemas/virtualIban" description: "" paymentAccountDisableIBANRequest: description: |- Disable IBAN request. One of requestId or paymentMethodAlias is required type: object properties: requestId: description: Current payment method, or pending payment method type: string minLength: 1 maxLength: 18 pattern: "^[0-9a-zA-Z]+$" paymentMethodAlias: $ref: "#/components/schemas/paymentMethodAlias" paymentAccountDisableIBANResponse: description: Disable IBAN response type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" paymentAccountFloorLimitRequest: description: Account set floor limit request required: - accountFloorLimit - accountNumber type: object properties: accountNumber: $ref: "#/components/schemas/accountNumber" description: "" minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" accountFloorLimit: description: Minimum amount left in the account with payoutAuto process type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" paymentAccountFloorLimitResponse: description: Account set floor limit response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" paymentAccountListResponse: description: Account list response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" lineCount: description: Total number of lines type: string accountList: description: List of accounts type: array items: $ref: "#/components/schemas/accountList" paymentAccountPayautoRequest: description: Payout auto request required: - amount - frequency type: object properties: accountNumber: $ref: "#/components/schemas/accountNumber" description: "" amount: description: Recharge amount type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" frequency: description: |- 0: deactivate 1: once a day 2: once a week 3: once a month enum: - "0" - "1" - "2" - "3" type: string dayOfWeek: description: |- Selected day of the week. Between 0 and 6 If frequency is set to 2, dayOfWeek is a mandatory field. 0: Sunday 1: Monday 2: Tuesday 3: Wednesday 4: Thursday 5: Friday 6: Saturday type: string enum: - "0" - "1" - "2" - "3" - "4" - "5" - "6" dayOfMonth: description: |- Selected day of the month. Between 1 and 31. If frequency is set to 3, dayOfMonth is a mandatory field type: string enum: - "1" - "2" - "3" - "4" - "5" - "6" - "7" - "8" - "9" - "10" - "11" - "12" - "13" - "14" - "15" - "16" - "17" - "18" - "19" - "20" - "21" - "22" - "23" - "24" - "25" - "26" - "27" - "28" - "29" - "30" - "31" paymentMethodAlias: $ref: "#/components/schemas/paymentMethodAlias" description: "" minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" paymentAccountPayautoResponse: description: Payout auto response type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" paymentAccountSetIBANRequest: description: |- Start the change IBAN process request Upload must be done in multipart/form-data mime type. One part must be a valid JSON with required fields in content-disposition named 'json'. Second part must be the file base64 encoded in content-disposition named 'file'. fileExt is defined in content-type of file part. required: - currency - address - city - country - postalCode - iban type: object properties: accountNumber: $ref: "#/components/schemas/accountNumber" description: "" firstName: description: The first name of the IBAN account's owner type: string minLength: 1 maxLength: 50 lastName: description: The last name of the IBAN account's owner type: string minLength: 1 maxLength: 50 socialReason: description: The name of the IBAN account's owner if compagny type: string minLength: 1 maxLength: 50 address: description: The road name and number of the IBAN account's owner type: string minLength: 1 maxLength: 38 city: description: The city of the IBAN account's owner type: string minLength: 1 maxLength: 30 postalCode: description: The postal code of the IBAN account's owner type: string minLength: 1 maxLength: 10 pattern: "^[-a-zA-Z0-9 ]+$" country: description: The country code (in 3 letter format) of the IBAN account's owner type: string minLength: 3 maxLength: 3 pattern: "^[A-Z]+$" fileType: description: |- Type of the file contening the proof document The type of file is defined in content-type header of file part in multipart request. - image/jpeg: JPEG - image/png: PNG - application/pdf: PDF - application/msword: DOC - application/vnd.ms-excel: XLS - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: XLSX enum: - JPEG - PNG - PDF - DOC - XLS - XLSX type: string fileContent: description: |- The content of the file contening the proof in base64 encoding format. The file is provided in second part of multipart request, in content-disposition named 'file' type: string minLength: 1 maxLength: 6000000 pattern: "^[a-zA-Z0-9\/=+]+$" iban: description: The new IBAN type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" currency: $ref: "#/components/schemas/currencyCode" description: "" paymentMethodAlias: description: |- Current payment method alias to update. If not provided a new payment method is added. type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" paymentMethodKey: description: |- Type of payment method - SCT - SCT INST enum: - SCT - SCT INST type: string paymentAccountSetIBANResponse: description: Start change IBAN process response type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" requestId: $ref: "#/components/schemas/requestId" description: "" paymentMathodAlias: $ref: "#/components/schemas/paymentMethodAlias" description: "" paymentDetailsRequest: description: Payment details request required: - orderId type: object properties: metaData: $ref: "#/components/schemas/metaData" description: "" orderId: $ref: "#/components/schemas/orderId" description: "" paymentData: $ref: "#/components/schemas/paymentData" description: "" paymentDetailsResponse: description: Payment details response required: - resultCode type: object properties: orderId: $ref: "#/components/schemas/orderId" description: Present if success (resultCode=0) orderStatus: $ref: "#/components/schemas/orderStatus" description: "" resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" transactionId: $ref: "#/components/schemas/transactionId" description: "" transactionStatus: $ref: "#/components/schemas/transactionStatus" description: "" reference: $ref: "#/components/schemas/mndtRef" description: "" paymentIframeRequest: description: Payment with iFrame request required: - payer - amount - orderCountryCode - orderReference type: object properties: orderReference: $ref: "#/components/schemas/orderReference" description: The order reference of the requester orderCountryCode: $ref: "#/components/schemas/countryCode" description: country iso code of the order amount: $ref: "#/components/schemas/amount" description: amount of the order breakdownList: description: breakdown list type: array items: $ref: "#/components/schemas/breakdown" payer: $ref: "#/components/schemas/payerSimple" description: customer details for iframe capture: $ref: "#/components/schemas/capture" description: "" metaData: $ref: "#/components/schemas/metaData" description: "" recurrent: $ref: "#/components/schemas/recurrent" description: "" endToEndId: $ref: "#/components/schemas/endToEndId" description: "" paymentMethodId: description: |- Identifier of the payment method. If given, the end-user will be redirected to the corresponding payment method iFrame. If not given, the end-user will be redirected to the payment method selection iFrame. type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" urlRedirect: $ref: "#/components/schemas/urlRedirectIn" description: "" minLength: 1 maxLength: 255 pattern: "^https?://(www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)$" cart: $ref: "#/components/schemas/cart" description: "" paymentAccount: type: string cbChallenge: $ref: "#/components/schemas/cbChallenge" description: "" details: $ref: "#/components/schemas/details" description: "" page: description: |- Type of page to display. - iframe: integrated in marketplace site (default) - full: full page minLength: 1 type: string enum: - full - iframe paymentOptions: $ref: "#/components/schemas/paymentOptions" description: "" paymentIframeResponse: description: Payment with iFrame response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" orderId: $ref: "#/components/schemas/orderId" description: Reference of the order, to be use in every next request resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" authenticationCode: description: Authentification Code to use to open user iframe type: string Site: description: Site name or number type: string url: description: Url to connect iframe to. type: string paymentMethod: description: Payment method information required: - id type: object properties: aliasList: description: if alias exist for the customer and the payment Method type: array items: $ref: "#/components/schemas/alias" id: $ref: "#/components/schemas/paymentMethodId" description: "" label: description: label of the payment Method type: string type: $ref: "#/components/schemas/paymentMethodTypeId" description: "" paymentMethodSimple: description: Payment method information required: - id type: object properties: id: description: |- id (string) : ID of the type of payment method. This id must be provided to identify the payment method. The list of payment method IDs is provided when your AgoraPay account is created. type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" paymentMethodsRequest: description: Payement methods request required: - payer - amount - orderCountryCode - orderReference type: object properties: orderReference: $ref: "#/components/schemas/orderReference" description: "" orderCountryCode: $ref: "#/components/schemas/countryCode" description: "" amount: $ref: "#/components/schemas/amount" description: amount of the order payer: $ref: "#/components/schemas/payer" description: "" metaData: description: "" type: object additionalProperties: true minLength: 1 maxLength: 2048 paymentMethodsResponse: description: Payment methods response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" paymentMethodList: description: list of available payment methods type: array items: $ref: "#/components/schemas/paymentMethod" orderId: $ref: "#/components/schemas/orderId" description: reference of the order, to be use in every next request resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" paymentRequest: description: |- Payment request. if orderId is not provided, the following fields are mandatory : - orderReference - orderCountryCode - payer if orderId is present, it must be obtain from previous call to paymentMethods required: - transactionAmount - urlRedirect type: object additionalProperties: true properties: transPaymentMethod: $ref: "#/components/schemas/paymentMethodSimple" description: the payment Method choosen by the shopper orderId: $ref: "#/components/schemas/orderId" description: "" orderReference: $ref: "#/components/schemas/orderReference" description: Mandatory if orderId is not present orderCountryCode: $ref: "#/components/schemas/countryCode" description: Mandatory if orderId is not present breakdownList: description: List of breakdown for this payment type: array items: $ref: "#/components/schemas/breakdown" alias: $ref: "#/components/schemas/aliasSimple" description: If the shopper use an alias metaData: $ref: "#/components/schemas/metaData" description: "" payer: $ref: "#/components/schemas/payer" description: Mandatory if orderId is not present details: $ref: "#/components/schemas/details" description: "" capture: $ref: "#/components/schemas/capture" description: "" transactionAmount: $ref: "#/components/schemas/amount" description: Amount for this transaction urlRedirect: $ref: "#/components/schemas/urlRedirectIn" description: "" registerAlias: $ref: "#/components/schemas/registerAlias" description: "" reason: $ref: "#/components/schemas/reason" description: "" endToEndId: $ref: "#/components/schemas/endToEndId" description: "" cart: $ref: "#/components/schemas/cart" description: "" operationDate: $ref: "#/components/schemas/operationDate" description: "" cbChallenge: $ref: "#/components/schemas/cbChallenge" description: "" paymentOptions: $ref: "#/components/schemas/paymentOptions" description: "" paymentResponse: description: Payment response required: - resultCode type: object properties: orderId: $ref: "#/components/schemas/orderId" description: "" orderStatus: $ref: "#/components/schemas/orderStatus" description: "" transactionId: $ref: "#/components/schemas/transactionId" description: "" transactionStatus: $ref: "#/components/schemas/transactionStatus" description: "" resultCode: $ref: "#/components/schemas/resultCode" description: "" virtualIban: $ref: "#/components/schemas/virtualIban" description: "" redirectUrl: $ref: "#/components/schemas/urlRedirectOut" description: "" reference: $ref: "#/components/schemas/mndtRef" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" redirectInd: description: 1 if user must be redirect to the redirectUrl site type: string payoutRequest: description: Payout request required: - payoutAmount - paymentMethodAlias - accountNumber type: object properties: endToEndId: $ref: "#/components/schemas/endToEndId" description: end to end identifier payoutAmount: $ref: "#/components/schemas/amount" description: amount and currency of the payout paymentMethodAlias: $ref: "#/components/schemas/paymentMethodAlias" description: "" accountNumber: $ref: "#/components/schemas/accountNumber" description: Account Number invloved in payout commission: $ref: "#/components/schemas/commission" description: "" metaData: $ref: "#/components/schemas/metaData" description: User metaData in Json or string format reason: $ref: "#/components/schemas/reason" description: "" payoutResponse: description: Payout response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" transactionId: $ref: "#/components/schemas/transactionId" description: "" transactionStatus: $ref: "#/components/schemas/transactionStatus" description: "" recurrent: description: |- recurrent indicator "1" for recurrent payment "0" or absent if not a recurrent payment type: string enum: - "Y" - "N" - "1" - "0" refundRequest: description: Refund request required: - transactionAmount - orderId - orderReference - payer type: object properties: orderId: $ref: "#/components/schemas/orderId" description: Id of the order transactionAmount: $ref: "#/components/schemas/amount" description: Amount to refund transactionId: $ref: "#/components/schemas/transactionId" description: "" metaData: $ref: "#/components/schemas/metaData" description: "" reason: $ref: "#/components/schemas/reason" description: The refund reason breakdownList: description: "" type: array items: $ref: "#/components/schemas/breakdown" orderReference: $ref: "#/components/schemas/orderReference" description: |- Marketplace reference for this order, which must be equal to the initial reference. Characters authorized are: a to z, A to Z, 0 to 9 and - / . + : and space payer: $ref: "#/components/schemas/payerSimple" description: "" refundResponse: description: Refund response type: object properties: orderStatus: $ref: "#/components/schemas/orderStatus" description: "" transactionList: description: "" type: array items: $ref: "#/components/schemas/transaction" resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" orderId: $ref: "#/components/schemas/orderId" description: "" registerAccount: description: Register account information required: - country - currency - iban - floorLimit type: object properties: country: $ref: "#/components/schemas/countryCode" description: "" currency: $ref: "#/components/schemas/currencyCode" description: Currency code iban: $ref: "#/components/schemas/IBAN" description: "" floorLimit: description: Floor limit in currency unit type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" registerAddress: description: Register address information required: - address - city - postalCode - country type: object properties: address: description: Number and road name type: string minLength: 1 maxLength: 38 pattern: "^[-A-Z0-9 ]+$" city: description: "" type: string minLength: 1 maxLength: 30 pattern: "^[-A-Z0-9 ]+$" postalCode: description: "" type: string minLength: 1 maxLength: 10 pattern: "^[-a-zA-Z0-9 ]+$" country: $ref: "#/components/schemas/countryCode" description: "" registerPersonRequest: description: Register a person information in request required: - gender - firstName - lastName - roles type: object properties: gender: $ref: "#/components/schemas/gender" description: "" firstName: description: "" type: string minLength: 1 maxLength: 50 lastName: description: "" type: string minLength: 1 maxLength: 50 email: description: "" type: string minLength: 1 maxLength: 50 pattern: "^[^ ]+@[-a-zA-Z0-9_]+?.[a-zA-Z]{2,3}$" phoneNumber: description: "" type: string minLength: 1 maxLength: 16 pattern: "^([+]|0|00)[1-9][0-9]{7,15}$" roles: description: "List of role" type: array items: description: "Physical person role" type: object properties: role: description: |- Role of a physical person - BE : Beneficial owner - D : Manager - MD : Mandatary - CP : Legal representative type: string enum: - BE - D - MD - CP birthDate: format: date description: Date of birth in YYYYMMAA format type: string minLength: 8 maxLength: 8 pattern: "^[0-9]+$" registerPersonResponse: description: Person information in response required: - firstName - lastName - id - requirements type: object properties: firstName: description: "" type: string lastName: description: "" type: string id: description: Registration identification number type: string requirements: description: List of document to provide or provided type: array items: $ref: "#/components/schemas/requirementResponse" registerPersonResponseDetail: description: Register a person information required: - firstName - lastName - id - requirements type: object properties: firstName: description: "" type: string lastName: description: "" type: string id: description: Registration identification number type: string requirements: description: List of document to provide or provided type: array items: $ref: "#/components/schemas/requirementResponseDetail" registerPersonUpdateRequest: description: Person information for register update required: - gender - firstName - lastName - roles type: object properties: id: description: |- Previous ID provided in register response of physical person to update. If absent, a new person is added. type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" gender: $ref: "#/components/schemas/gender" description: "" minLength: 1 maxLength: 1 pattern: "[MF]" firstName: description: "" type: string minLength: 1 maxLength: 50 lastName: description: "" type: string minLength: 1 maxLength: 50 email: description: "" type: string minLength: 1 maxLength: 50 pattern: "^[^ ]+@[-a-zA-Z0-9_]+?.[a-zA-Z]{2,3}$" phoneNumber: description: "" type: string minLength: 1 maxLength: 16 pattern: "^([+]|0|00)[1-9][0-9]{7,15}$" roles: description: "List of role" type: array items: description: "Physical person role" type: object properties: role: description: |- Role of a physical person - BE : Beneficial owner - D : Manager - MD : Mandatary - CP : Legal representative type: string enum: - BE - D - MD - CP birthDate: format: date description: Date of birth in YYYYMMAA format type: string minLength: 8 maxLength: 8 pattern: "^[0-9]+$" requirementResponse: description: Document requirement for registration in response required: - id - fileType type: object properties: id: description: Requirement identification number type: string label: description: Requirement description type: string code: description: Requirement code identification type: string fileExt: description: Type of form file provided (JPEG, JPG, PNG, PDF, DOC) type: string fileContent: description: Content of the form document base64 encoded type: string fileType: description: Type of document (BANK_ID, COMPANY_REG, ...) type: string mandatory: description: Y or N. May be absent if N type: string requirementResponseDetail: description: Requirement for registration required: - id - label - mandatory type: object properties: id: description: Requirement identification number type: string mandatory: description: |- -Y if document must be provided -N if document is not mandatory. May be absent in this case. type: string label: description: Requirement description type: string status: description: |- Document status - Missing - Partial - To validate - Validated - Refused enum: - Missing - Partial - To validate - Validated - Refused type: string documents: description: List of documents type: array items: $ref: "#/components/schemas/requirementResponseDetailDocument" requirementResponseDetailDocument: description: Document requirement for registration in response required: - status type: object properties: fileExt: description: Type of file provided in fileContent (PDF) type: string fileContent: description: Content of the document base64 encoded type: string status: description: |- Document status - Missing - Partial - To validate - Validated - Refused type: string enum: - Missing - Partial - To validate - Validated - Refused receiptDate: description: Date of document reception in ISO8601 format type: string validated: description: Y or N type: string fileType: description: "" type: string validateDate: description: Date of validation of the document in ISO8601 format type: string requirementUploadRequest: description: |- Upload document information for registration. Upload must be done in multipart/form-data mime type. One part must be a valid JSOON with required fields in content-disposition named 'json'. Second part must be the file base64 encoded in content-disposition named 'file'. fileExt is defined in content-type of file part. required: - id - fileType type: object properties: id: description: Requirement identification number type: string minLength: 1 maxLength: 18 pattern: "^[.0-9]+$" fileExt: description: |- Type of file provided (JPEG, PNG, PDF, DOC, XLS, XLSX) This type is defined in content-type header of file part in multipart request. - image/jpeg: JPEG - image/png: PNG - application/pdf: PDF - application/msword: DOC - application/vnd.ms-excel: XLS - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: XLSX type: string enum: - JPEG - PNG - PDF - DOC - XLS - XLSX fileContent: description: |- Content of the document base64 encoded. File is provided in file part of multipart request. type: string minLength: 1 maxLength: 6000000 pattern: "^[a-zA-Z0-9\/=+]+$" fileType: description: |- File type allowed based on requirement code. The following value are allowed : INDIVIDUAL_INDIFICATION - PASSPORT: Passeport - IDCARD_FRONT_BACK: Identity document - IDCARD_FRONT: Identity document - IDCARD_BACK: Identity document - PERMANENT_RES: Permanent residence permit BUSINESS_IDENTIFICATION - COMPANY_REG: Proof of registration NONPROFIT_IDENTICIATION - NONPROFIT_REG: Proof of existence of the association - NONPROFIT_OJ: JOAFE publication BUSINESS_ARTICLES - COMPANY_ART: Final status NONPROFIT_DIRECTORS - REPORT_GEN_ASS: Minutes of last general assembly BUSINESS_UBO - UBO_REG: Register of beneficial owners filed with the registry LEGAL_EXISTENCE - SIRENE_REG: INSEE file less than 3 months old - RECEIPT_APP: Receipt of prefecture - SIRENE_NOT: Notice of situation REGISTRATION_PROOF - INDIVIDUAL_REG: Registration with the Trade and Companies Register or Trades and Crafts Register ADDRESS_PROOF - PROPERTY_TAX: Property tax less than a year old - HOUSING_TAX: Housing tax less than a year old - INVOICE: Energy or telephony supplier bill (less than 3 months old) COOPERATIVE_APPROUVAL - COOP_APP: Approval of the High Council of the agricultural cooperative (if agricultural cooperative) SUBSCRIPTION_PROOF - PROOF_REG: Proof of registration for SCs and SCPs BUSINESS_IDENTIFICATION_WORLD - COMPANY_REG_WORLD: Extract from the commercial register (original + translation) - COMPANY_CER_WORLD: Certificate of legal validity of the company (original + translation) BUSINESS_ARTICLES_WORLD - COMPANY_ART_WORLD: Definitive statutes or equivalent (original + translation) BUSINESS_UBO_WORLD - UBO_REG_WORLD: Beneficial ownership declaration form (original + translation) BANK_ID - BANK_ID: Bank Account Proof OTHER_DOC - OTHER_DOC: Additional supporting documents ACCOUNT_AGR - ACCOUNT_AGR: Account Agreement QUESTIONNAIRE - QUESTIONNAIRE: Country Questionnaire (FR) enum: - PASSPORT - IDCARD_FRONT_BACK - COMPANY_REG - BANK_ID - COMPANY_REG_WORLD - OTHER_DOC - ACCOUNT_AGR - QUESTIONNAIRE - IDCARD_FRONT - IDCARD_BACK - NONPROFIT_REG - NONPROFIT_OJ - COMPANY_ART - REPORT_GEN_ASS - PERMANENT_RES - UBO_REG - SIRENE_REG - RECEIPT_APP - SIRENE_NOT - INDIVIDUAL_REG - PROPERTY_TAX - HOUSING_TAX - INVOICE - COOP_APP - PROOF_REG - COMPANY_CER_WORLD - COMPANY_ART_WORLD - UBO_REG_WORLD type: string sellerAccountNumber: description: Account number of the merchant or marketplace. type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" thirdParty: description: Third party name or reference type: string minLength: 1 maxLength: 50 transaction: description: Details of a transaction required: - amount - id - status type: object properties: paymentMethodId: description: id of the payment Method used for the transaction type: string id: $ref: "#/components/schemas/transactionId" description: "" status: $ref: "#/components/schemas/transactionStatus" description: "" amount: $ref: "#/components/schemas/amount" description: amount of the transaction type: $ref: "#/components/schemas/operationType" description: "" transactionStatus: description: |- Status of a transaction. The following value may be provided: - created: The transaction is just created. No payment is already made. - in_progress: Payment is in progress - accepted: Payment is accepted - completed: Payment confirmation is received - canceled: Payment is canceled - refused: Payment is refused - abandonned: Payment is not performed - refund: Transction is refunded enum: - created - in_progress - accepted - completed - canceled - refused - abandonned - refund type: string transferRequest: description: Transfer Resquest required: - accountCptNumber - transferAmount - accountNumber - reason type: object properties: accountCptNumber: $ref: "#/components/schemas/accountNumber" description: Account number to credit transferAmount: $ref: "#/components/schemas/amount" description: the Amount to transfer accountNumber: $ref: "#/components/schemas/accountNumber" description: Account Number to debit orderRef: $ref: "#/components/schemas/orderReference" description: operation reference of the transfer metaData: $ref: "#/components/schemas/metaData" description: "" reason: $ref: "#/components/schemas/reason" description: "" cart: description: Cart detail for 3DSV2. Mandatory in API v2. required: - totalQuantity type: object properties: totalQuantity: description: number of article in cart type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" mndtRef: description: Mandate reference type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9]+$" captureResponse: description: capture response required: - transactionList - resultCode - orderStatus - orderId type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: resultCode of the processing orderStatus: $ref: "#/components/schemas/orderStatus" description: "" transactionList: description: List of transaction for the order type: array items: $ref: "#/components/schemas/transaction" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" orderId: $ref: "#/components/schemas/orderId" description: "" cancelResponse: description: Cancel response required: - resultCode type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: resultCode of the processing orderStatus: $ref: "#/components/schemas/orderStatus" description: "" transactionList: description: List of transaction for the order type: array items: $ref: "#/components/schemas/transaction" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" orderDetailsResponse: description: Details of an order type: object allOf: - required: - resultCode type: object properties: orderAmount: $ref: "#/components/schemas/amount" description: amount of the order orderRemainingAmount: $ref: "#/components/schemas/amount" description: remaining amount of the order if not completed orderId: $ref: "#/components/schemas/orderId" description: Order identifier resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" orderStatus: $ref: "#/components/schemas/orderStatus" description: "" transactionList: description: List of transaction for the order type: array items: $ref: "#/components/schemas/transaction" operationsListRequest: description: Criteria to list operation type: object properties: pagination: description: Number of lines in reporting. Limited to 50. type: string minLength: 1 maxLength: 2 pattern: "^[0-5]?[0-9]$" startDate: format: date description: Begin date of operation reporting in YYYYMMDD format type: string minLength: 1 maxLength: 8 pattern: "^[0-9]+$" endDate: format: date description: ended Date of operation Reporting in YYYYMMDD format type: string minLength: 1 maxLength: 8 pattern: "^[0-9]+$" maxAmount: description: "" type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" minAmount: description: "" type: string minLength: 1 maxLength: 16 pattern: "^[0-9]{1,13}([.][0-9]{1,2})?$" offset: description: Start response line. Set to 0 when not indicated type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" orderReference: description: |- Order reference. Characters authorized are: a to z, A to Z, 0 to 9 and - / . + : _ and space type: string minLength: 1 maxLength: 50 pattern: "^[-a-zA-Z0-9.+:_]+(\/?[-a-zA-Z0-9.+:_ ])*([-a-zA-Z0-9.+:_])+$" currency: $ref: "#/components/schemas/currencyCode" description: "" transactionId: $ref: "#/components/schemas/transactionId" description: "" paymentMethodKey: description: |- Key identifier of the payment method type id - SDD: Sepa Direct Debit - SCT: Sepa Credit Transfer - CARD: Payment with card - SDD B2B: Sepa Direct Debit for B2B - PISP: PISP enum: - "SDD" - "SCT" - "CARD" - "SDD B2B" - "PISP" type: string sellerAccountNumber: $ref: "#/components/schemas/sellerAccountNumber" description: "" parentAccountNumber: $ref: "#/components/schemas/accountNumber" description: "" paymentAccountListRequest: description: Account list request. Criteria to find account type: object properties: accountNumber: $ref: "#/components/schemas/accountNumber" description: "" currency: $ref: "#/components/schemas/currencyCode" description: "" accountStatus: $ref: "#/components/schemas/accountStatusCode" description: "" sellerReference: description: Account reference type: string minLength: 1 maxLength: 30 pattern: "^[a-zA-Z0-9 ]+$" pagination: description: Number of line in reporting. Limited to 99. Default value 50. type: string minLength: 1 maxLength: 2 pattern: "^[0-9]+$" offset: description: Start response line. Set to 0 when not indicated type: string minLength: 1 maxLength: 18 pattern: "^[0-9]+$" cbChallenge: description: |- Challenge negotiation for card payment. 01: No preference 02: No challenge required 03: Desired challenge 04: Required challenge type: string minLength: 2 maxLength: 2 enum: - "01" - "02" - "03" - "04" paymentAccountSetFloorLimitRequest: description: Set account floor limit request required: - accountNumber - amount type: object properties: accountNumber: $ref: "#/components/schemas/accountNumber" description: "" amount: description: Floor limit amount $ref: "#/components/schemas/amount" paymentAccountSetFloorLimitResponse: description: Set account floor limit response type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" paymentAccountReportResponse: description: Get report response type: object properties: resultCode: $ref: "#/components/schemas/resultCode" description: "" resultCodeMessage: $ref: "#/components/schemas/resultCodeMessage" description: "" type: description: Type of the report type: string accountNumber: description: Account number type: string year: description: Year of the report type: string month: description: Month of the report type: string fileContent: description: Content of the report in base64 type: string paymentOptions: description: Payment options type: string enum: - "cardOnFile" - "withoutCardOnFile"