/* tslint:disable */ /* eslint-disable */ /** * Paystack * The OpenAPI specification of the Paystack API that merchants and developers can harness to build financial solutions in Africa. * * The version of the Paystack Node library: 1.0.0 * * * 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 ChargeCreate */ export interface ChargeCreate { /** * Customer's email address * @type {string} * @memberof ChargeCreate */ email: string; /** * Amount should be in kobo if currency is NGN, pesewas, if currency is GHS, and cents, if currency is ZAR * @type {string} * @memberof ChargeCreate */ amount: string; /** * An authorization code to charge. * @type {string} * @memberof ChargeCreate */ authorizationCode?: string; /** * 4-digit PIN (send with a non-reusable authorization code) * @type {string} * @memberof ChargeCreate */ pin?: string; /** * Unique transaction reference. Only -, .`, = and alphanumeric characters allowed. * @type {string} * @memberof ChargeCreate */ reference?: string; /** * The customer's birthday in the format YYYY-MM-DD e.g 2017-05-16 * @type {Date} * @memberof ChargeCreate */ birthday?: Date; /** * This is the unique identifier of the device a user uses in making payment. * Only -, .`, = and alphanumeric characters are allowed. * @type {string} * @memberof ChargeCreate */ deviceId?: string; /** * Stringified JSON object of custom data * @type {string} * @memberof ChargeCreate */ metadata?: string; } export function ChargeCreateFromJSON(json: any): ChargeCreate { return ChargeCreateFromJSONTyped(json, false); } export function ChargeCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChargeCreate { if ((json === undefined) || (json === null)) { return json; } return { 'email': json['email'], 'amount': json['amount'], 'authorizationCode': !exists(json, 'authorization_code') ? undefined : json['authorization_code'], 'pin': !exists(json, 'pin') ? undefined : json['pin'], 'reference': !exists(json, 'reference') ? undefined : json['reference'], 'birthday': !exists(json, 'birthday') ? undefined : (new Date(json['birthday'])), 'deviceId': !exists(json, 'device_id') ? undefined : json['device_id'], 'metadata': !exists(json, 'metadata') ? undefined : json['metadata'], }; } export function ChargeCreateToJSON(value?: ChargeCreate | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'email': value.email, 'amount': value.amount, 'authorization_code': value.authorizationCode, 'pin': value.pin, 'reference': value.reference, 'birthday': value.birthday === undefined ? undefined : (value.birthday.toISOString()), 'device_id': value.deviceId, 'metadata': value.metadata, }; }