openapi: 3.2.0 info: description: The Onboarding API, groups together a pool of operations for the creation of a request for a digital bank account. version: v1 title: Onboarding Payment API servers: - description: Sandbox url: https://sandbox-api.novopayment.com/onboarding/v1 security: - oAuth2ClientCredentials: [] tags: - name: Payment paths: /payment: post: summary: Membership Payment description: This operation allows to process the subscription payment using a card with e-commerce features. requestBody: $ref: '#/components/requestBodies/RQMembershipPayment' operationId: MembershipPayment responses: '200': $ref: '#/components/responses/RSMembershipPayment200' '400': $ref: '#/components/responses/RSMembershipPayment400' '401': $ref: '#/components/responses/RS401' '500': $ref: '#/components/responses/RS500' tags: - Payment components: examples: CardSecurityCodeInvalid: value: code: 400.25.049 message: Card security code is invalid. datetime: '2020-01-03T16:05:56.517Z' InvalidAccessToken: value: code: 401.25.990 message: Invalid Access Token datetime: '2020-01-03T16:05:56.517Z' AccessTokenNotApproved: value: code: 401.25.991 message: Access Token not approved datetime: '2020-01-03T16:05:56.517Z' InvalidSignature: value: code: 401.25.992 message: Invalid signature datetime: '2020-01-03T16:05:56.517Z' CardNumberInvalid: value: code: 400.25.047 message: The card number is invalid. datetime: '2020-01-03T16:05:56.517Z' CardInformationInvalid: value: code: 400.25.046 message: The payment could not be processed because of invalid card information. datetime: '2020-01-03T16:05:56.517Z' InternalServerError: value: code: 500.25.001 message: Internal Server Error datetime: '2020-01-03T16:05:56.517Z' AccessTokenExpired: value: code: 401.25.993 message: Access token expired datetime: '2020-01-03T16:05:56.517Z' CardExpirationDateInvalid: value: code: 400.25.048 message: Card expiration date is invalid. datetime: '2020-01-03T16:05:56.517Z' requestBodies: RQMembershipPayment: content: application/json: schema: $ref: '#/components/schemas/RQMembershipPayment' required: true schemas: RQMembershipPayment: type: object required: - card - expirationDate - cardHolderName - securityCode - emailAddress properties: card: type: string description: Encrypted of card number with AES Encrypt. OTP Request Via SMS or E-mail. example: $ENCRYPTED_CARD$ maxLength: 20 expirationDate: type: string description: Encryption of card expiration date with AES Encrypt example: $ENCRYPTED_CARD$ maxLength: 6 cardHolderName: type: string description: Cardholder name. example: John Doe maxLength: 50 securityCode: type: string description: Encrypted of card security code with AES Encrypt. example: $ENCRYPTED_CARD$ maxLength: 4 emailAddress: type: string description: Email to register the payment. example: JohnDoe@example.com maxLength: 20 RSMembershipPayment400: type: object required: - code - message - datetime properties: code: type: string example: 400.25.003 description: Operation response code minLength: 10 maxLength: 10 message: type: string example: Params required description: Response code description maxLength: 140 datetime: type: string description: Opertion Timestamp example: '2020-01-03T16:05:56.517Z' format: date-time RS500: type: object required: - code - message - datetime properties: code: type: string example: 500.01.999 description: Operation response code minLength: 10 maxLength: 10 message: type: string example: Internal Server Error description: Response code description maxLength: 140 datetime: type: string example: '2020-01-03T16:05:56.517Z' description: Opertion Timestamp format: date-time RS401: type: object required: - code - message - datetime properties: code: type: string example: 401.01.990 description: Operation response code minLength: 10 maxLength: 10 message: type: string example: Invalid Access Token description: Response code description maxLength: 140 datetime: type: string description: Opertion Timestamp example: '2020-01-03T16:05:56.517Z' format: date-time RSMembershipPayment200: type: object required: - code - message - datetime properties: code: type: string description: Operation response code example: 200.25.000 maxLength: 10 message: type: string description: Response code description example: Process Ok maxLength: 140 datetime: type: string description: Opertion Timestamp example: '2020-01-03T16:05:56.517Z' format: date-time responses: RS401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/RS401' examples: Invalid Access Token: $ref: '#/components/examples/InvalidAccessToken' Access Token Not Approved: $ref: '#/components/examples/AccessTokenNotApproved' Invalid Signature: $ref: '#/components/examples/InvalidSignature' Access Token Expired: $ref: '#/components/examples/AccessTokenExpired' RS500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/RS500' examples: Internal Server Error: $ref: '#/components/examples/InternalServerError' RSMembershipPayment200: description: OK content: application/json: schema: $ref: '#/components/schemas/RSMembershipPayment200' examples: Success: value: code: 200.25.000 message: Process Ok datetime: '2020-01-03T16:05:56.517Z' RSMembershipPayment400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/RSMembershipPayment400' examples: Card Information Invalid: $ref: '#/components/examples/CardInformationInvalid' Card Number Invalid: $ref: '#/components/examples/CardNumberInvalid' Card Expiration Date Invalid: $ref: '#/components/examples/CardExpirationDateInvalid' Card Security Code Invalid: $ref: '#/components/examples/CardSecurityCodeInvalid' securitySchemes: oAuth2ClientCredentials: type: oauth2 description: 'See [Oauth2 API](https://developer.novopayment.com/api/authentication-method-and-encryption/oauth2-api) ' flows: clientCredentials: tokenUrl: https://sandbox-api.novopayment.com/oauth2/token scopes: {}