{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/lemonway/main/json-schema/lemonway-money-in-web-init-input-schema.json",
  "title": "MoneyInWebInitInput",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/lemonway-directkit-api-2-0-openapi.yml#/components/schemas/MoneyInWebInitInput",
  "required": [
    "returnUrl",
    "errorUrl",
    "cancelUrl",
    "accountId"
  ],
  "type": "object",
  "properties": {
    "returnUrl": {
      "description": "Your site URL called by WebKit to terminate the operation.",
      "type": "string"
    },
    "errorUrl": {
      "description": "Your site return URL, called by WebKit in case of an error.",
      "type": "string"
    },
    "cancelUrl": {
      "description": "Your site return URL, called by WebKit in case of a cancellation.",
      "type": "string"
    },
    "registerCard": {
      "description": "Save the card and returns an ID for future payments.",
      "type": "boolean"
    },
    "captureDelayedDays": {
      "format": "int32",
      "description": "Indicate the number of days of the deferred payment. Between 0 and 6 days to have a guaranteed payment. \r\nOnly usable with isPreAuth = 0-6",
      "type": "integer"
    },
    "label": {
      "description": "Indicates the name of the shop on the payment page.",
      "type": "string"
    },
    "cardId": {
      "description": "Indicates the CardId",
      "type": "string"
    },
    "moneyInNature": {
      "format": "int32",
      "description": "Indicates the nature of activity for this Money-In:<br/>0 = Activity 1.<br/>1 = Activity 2.<br/>",
      "enum": [
        0,
        1
      ],
      "type": "integer"
    },
    "threeDS": {
      "$ref": "#/$defs/ThreeDS"
    },
    "riskAnalysis": {
      "$ref": "#/$defs/RiskAnalysis"
    },
    "recurringAvgAmount": {
      "format": "int32",
      "description": "Average amount of future recurring payments to cover recurring payments with variable amounts.  \r\n**Note:** Only if the amount is higher than the amount of the first transaction.",
      "type": "integer"
    },
    "paymentPattern": {
      "description": "**Recurring**: If a payment follows a recurring amount or **One_shot**: when there is no future recurring payments.",
      "type": "string"
    },
    "reference": {
      "description": "Unique ID of the call, generated by your server. This ID can be used as a search field when looking for operation details",
      "maxLength": 50,
      "minLength": 0,
      "type": "string"
    },
    "accountId": {
      "description": "Payment Account ID to Credit",
      "maxLength": 256,
      "minLength": 0,
      "type": "string"
    },
    "totalAmount": {
      "format": "int32",
      "description": "Amount to Debit\r\nAmounts are given as integer numbers in cents",
      "type": "integer"
    },
    "commissionAmount": {
      "format": "int32",
      "description": "Your Fee\r\nAmounts are given as integer numbers in cents",
      "type": "integer"
    },
    "comment": {
      "description": "Comment Regarding the Transaction",
      "maxLength": 140,
      "minLength": 0,
      "type": "string"
    },
    "autoCommission": {
      "description": "If true:\r\n1. [amountCom] will be ignored and will be replaced with Lemonway's fee  \r\n2. You will not receive any fee",
      "type": "boolean"
    }
  },
  "$defs": {
    "Authentication": {
      "type": "object",
      "properties": {
        "merchantCustomerAuthentMethod": {
          "description": "Possible Authentication Methods: <br />\r\n- NOAUTHENT = 1 - No authentication of the customer by the merchant                                                     \r\n- OWNCREDENTIAL = 2 - Customer authentication by the merchant using his own system                                          \r\n- FEDERATEDID = 3 - Customer authentication by the merchant using an identifier federated(facebook, ...) (e.g.Facebook)  \r\n- ISSUERID = 4 - Customer authentication by the merchant using information of the issuer's payment mean                \r\n- THIRDPARTY = 5 - Customer authentication by the merchant using a third system                                          \r\n- FIDO = 6 - Customer authentication by the merchant with FIDO(Fast IDentity Online) system",
          "type": "string"
        },
        "merchantCustomerAuthentDateTime": {
          "description": "ISO8601 date time format",
          "type": "string"
        }
      }
    },
    "BillingAddress": {
      "type": "object",
      "properties": {
        "city": {
          "description": "Client city",
          "type": "string"
        },
        "country": {
          "description": "Client country using ISO 3166-1 alpha-3",
          "type": "string"
        },
        "addressAdditional1": {
          "description": "Client number and street",
          "type": "string"
        },
        "addressAdditional2": {
          "description": "Client number and street",
          "type": "string"
        },
        "addressAdditional3": {
          "description": "Client number and street",
          "type": "string"
        },
        "zipCode": {
          "description": "Client Post Code/ZIP",
          "type": "string"
        },
        "state": {
          "description": "Client State",
          "type": "string"
        }
      }
    },
    "Contact": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        }
      }
    },
    "CustomerAccountInfo": {
      "type": "object",
      "properties": {
        "customerAccountId": {
          "description": "Additional information about the account optionally provided by the 3-D Secure Requestor",
          "type": "string"
        },
        "numberOfPurchase180Days": {
          "description": "The number of customer transactions made over the last six months (last 180 days)",
          "type": "string"
        },
        "numberOfTransactionYear": {
          "description": "Number of accepted or abandoned transactions in the last year on the customer account",
          "type": "string"
        },
        "customerAccountCreationDate": {
          "description": "The customer account creation date. Format: YYYY/MM/DD",
          "type": "string"
        },
        "numberOfAttemptsAddCard24Hours": {
          "description": "The number of add card attempts in 24 hours",
          "type": "string"
        },
        "suspiciousActivityIndicator": {
          "description": "Specifies whether a suspicious activity is detected on customer account. Possible values: true or false.",
          "type": "string"
        },
        "numberOfTransaction24Hours": {
          "description": "Number of abandoned or successful transactions in the last 24 hours on the customer account",
          "type": "string"
        },
        "customerAccountChangeDate": {
          "description": "Last date the customer account was changed. Format: YYYY/MM/DD",
          "type": "string"
        },
        "passwordChangeDate": {
          "description": "Date of last change of password of the customer account. Format: YYYY/MM/DD",
          "type": "string"
        },
        "addPaymentMeanDate": {
          "description": "Date of last added form of payment made to account. For example a new card registered to the account. Format: YYYY/MM/DD",
          "type": "string"
        }
      }
    },
    "DeliveryAdditionalInfo": {
      "type": "object",
      "properties": {
        "contact": {
          "$ref": "#/$defs/Contact"
        },
        "numberOfItemsBasket": {
          "description": "Total quantity of all products in the basket",
          "type": "string"
        },
        "addressDeliveryBillingMatchIndicator": {
          "description": "Specifies whether the delivery and the billing addresses are the same",
          "type": "string"
        },
        "deliveryAddressCreationDate": {
          "description": "The date on which the last delivery address used by the merchant's account was reported in the transaction",
          "type": "string"
        },
        "estimatedDeliveryDelay": {
          "description": "Estimated Delivery Delay (in days) by the Merchant",
          "type": "string"
        },
        "deliveryMode": {
          "description": "Delivery Method (Postal Office or Amazon box and so on)",
          "type": "string"
        }
      }
    },
    "DeliveryAddress": {
      "type": "object",
      "properties": {
        "city": {
          "description": "Client City",
          "type": "string"
        },
        "Country": {
          "description": "Client country using ISO 3166-1 alpha-3",
          "type": "string"
        },
        "addressAdditional1": {
          "description": "Client Number and Street",
          "type": "string"
        },
        "addressAdditional2": {
          "description": "Client Number and Street",
          "type": "string"
        },
        "addressAdditional3": {
          "description": "Client Number and Street",
          "type": "string"
        },
        "zipCode": {
          "description": "Client Postal Code/ZIP",
          "type": "string"
        },
        "state": {
          "description": "Client State",
          "type": "string"
        }
      }
    },
    "Holder": {
      "type": "object",
      "properties": {
        "firstName": {
          "type": "string"
        },
        "lastName": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "mobile": {
          "type": "string"
        },
        "workPhone": {
          "type": "string"
        }
      }
    },
    "RiskAnalysis": {
      "type": "object",
      "properties": {
        "billingAddress": {
          "$ref": "#/$defs/BillingAddress"
        },
        "holder": {
          "$ref": "#/$defs/Holder"
        },
        "deliveryAddress": {
          "$ref": "#/$defs/DeliveryAddress"
        },
        "deliveryAdditionalInfo": {
          "$ref": "#/$defs/DeliveryAdditionalInfo"
        },
        "customerAccountInfo": {
          "$ref": "#/$defs/CustomerAccountInfo"
        },
        "authentication": {
          "$ref": "#/$defs/Authentication"
        }
      }
    },
    "ThreeDS": {
      "type": "object",
      "properties": {
        "challengeMode": {
          "description": "If you would like to enforce 3D Secure for your client then use the challenge mode. Possible values are: \r\n- No_preference (default value). The card holder's bank will decide whether or not to challange\r\n- Force_threeDS",
          "type": "string"
        }
      }
    }
  }
}