/* tslint:disable */
/* eslint-disable */
/**
* Lemonway DirectKit API 2.0
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: v2
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
*
* @export
* @interface CreatePaymentFormInput
*/
export interface CreatePaymentFormInput {
/**
* Optional identity of the payment form. You should not use special character here.
* @type {string}
* @memberof CreatePaymentFormInput
*/
optId?: string;
/**
* Payer Wallet. If this field is filled then the money reaches this wallet before arriving at the beneficiary wallet (via a transfer wallet to wallet).
* Don't put the SC Wallet here, it won't work. You cannot debit the SC Wallet with a credit card.
* @type {string}
* @memberof CreatePaymentFormInput
*/
walletPayer?: string;
/**
* Beneficiary Wallet. If this field is not complete, then the end-user must to fill its value on the payment form.
* We recommend you complete the form instead of your end-user
* Don't put the SC Wallet here, it won't work. You cannot credit the SC Wallet with a credit card.
* @type {string}
* @memberof CreatePaymentFormInput
*/
walletReceiver?: string;
/**
* Amount or a range of the amount to be debited.
* 1. If this field is configured with an interval (eg, 15.30-500.26) then the final customer will have to enter an appropriate amount in the form.
* 2. If this field is not filled then the end-user can enter any amount to the form.
* 3. If this field is filled with a precise value (eg 15.60), then the end-user has no choice in the amount field of the form.
* Amounts are given as integer numbers in cents.
* Note: If you enter a fixed amount
* @type {string}
* @memberof CreatePaymentFormInput
*/
totalAmount?: string;
/**
* Your Fee
* Amounts are given as integer numbers in cents
* @type {number}
* @memberof CreatePaymentFormInput
*/
commissionAmount?: number;
/**
* Comment Regarding the Transaction
* @type {string}
* @memberof CreatePaymentFormInput
*/
comment?: string;
/**
* URL redirection after the payment procedure is successfully finished
* @type {string}
* @memberof CreatePaymentFormInput
*/
returnUrl?: string;
/**
* URL redirection after the payment procedure is cancelled
* @type {string}
* @memberof CreatePaymentFormInput
*/
cancelUrl?: string;
/**
* URL edirection after the payment procedure is failed
* @type {string}
* @memberof CreatePaymentFormInput
*/
errorUrl?: string;
/**
*
* @type {string}
* @memberof CreatePaymentFormInput
*/
firstNamePayer?: string;
/**
* Payer's Last Name
* If this field is not filled then the end-user have to fill it in the payment form
* @type {string}
* @memberof CreatePaymentFormInput
*/
lastNamePayer?: string;
/**
* Payer's Email
* If this field is not filled then the end-user have to fill it in the payment form
* @type {string}
* @memberof CreatePaymentFormInput
*/
emailPayer?: string;
/**
* Link to a custom CSS Stylesheet
* The stylesheet should be publicly accessible via **HTTPS*
* @type {string}
* @memberof CreatePaymentFormInput
*/
style?: string;
/**
*
* @type {string}
* @memberof CreatePaymentFormInput
*/
atosStyle?: string;
/**
* At the end of the payment procedure, an HTTP POST message containing the payment status (PAID, ERROR, CANCEL) is sent to this address.
* It is possible that the same notification might be sent several times.
* @type {string}
* @memberof CreatePaymentFormInput
*/
notifUrl?: string;
/**
* Reserved for a future version
* @type {string}
* @memberof CreatePaymentFormInput
*/
options?: string;
}
/**
* Check if a given object implements the CreatePaymentFormInput interface.
*/
export function instanceOfCreatePaymentFormInput(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function CreatePaymentFormInputFromJSON(json: any): CreatePaymentFormInput {
return CreatePaymentFormInputFromJSONTyped(json, false);
}
export function CreatePaymentFormInputFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreatePaymentFormInput {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'optId': !exists(json, 'optId') ? undefined : json['optId'],
'walletPayer': !exists(json, 'walletPayer') ? undefined : json['walletPayer'],
'walletReceiver': !exists(json, 'walletReceiver') ? undefined : json['walletReceiver'],
'totalAmount': !exists(json, 'totalAmount') ? undefined : json['totalAmount'],
'commissionAmount': !exists(json, 'commissionAmount') ? undefined : json['commissionAmount'],
'comment': !exists(json, 'comment') ? undefined : json['comment'],
'returnUrl': !exists(json, 'returnUrl') ? undefined : json['returnUrl'],
'cancelUrl': !exists(json, 'cancelUrl') ? undefined : json['cancelUrl'],
'errorUrl': !exists(json, 'errorUrl') ? undefined : json['errorUrl'],
'firstNamePayer': !exists(json, 'firstNamePayer') ? undefined : json['firstNamePayer'],
'lastNamePayer': !exists(json, 'lastNamePayer') ? undefined : json['lastNamePayer'],
'emailPayer': !exists(json, 'emailPayer') ? undefined : json['emailPayer'],
'style': !exists(json, 'style') ? undefined : json['style'],
'atosStyle': !exists(json, 'atosStyle') ? undefined : json['atosStyle'],
'notifUrl': !exists(json, 'notifUrl') ? undefined : json['notifUrl'],
'options': !exists(json, 'options') ? undefined : json['options'],
};
}
export function CreatePaymentFormInputToJSON(value?: CreatePaymentFormInput | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'optId': value.optId,
'walletPayer': value.walletPayer,
'walletReceiver': value.walletReceiver,
'totalAmount': value.totalAmount,
'commissionAmount': value.commissionAmount,
'comment': value.comment,
'returnUrl': value.returnUrl,
'cancelUrl': value.cancelUrl,
'errorUrl': value.errorUrl,
'firstNamePayer': value.firstNamePayer,
'lastNamePayer': value.lastNamePayer,
'emailPayer': value.emailPayer,
'style': value.style,
'atosStyle': value.atosStyle,
'notifUrl': value.notifUrl,
'options': value.options,
};
}