@apideck/node
Version:
Apideck Node.js SDK
217 lines (210 loc) • 5.62 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* Apideck
* The Apideck OpenAPI Spec: SDK Optimized
*
* The version of the OpenAPI document: 10.13.0
* Contact: support@apideck.com
*
* 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 } from '../runtime'
import { Address, AddressFromJSON, AddressToJSON } from './Address'
/**
* A card's non-confidential details.
* @export
* @interface PaymentCard
*/
export interface PaymentCard {
/**
* A unique identifier for an object.
* @type {string}
* @memberof PaymentCard
*/
readonly id?: string
/**
* The first six digits of the card number, known as the Bank Identification Number (BIN).
* @type {string}
* @memberof PaymentCard
*/
bin?: string | null
/**
* The first six digits of the card number, known as the Bank Identification Number (BIN).
* @type {string}
* @memberof PaymentCard
*/
card_brand?: PaymentCardCardBrand
/**
*
* @type {string}
* @memberof PaymentCard
*/
card_type?: PaymentCardCardType
/**
*
* @type {string}
* @memberof PaymentCard
*/
prepaid_type?: PaymentCardPrepaidType
/**
*
* @type {string}
* @memberof PaymentCard
*/
cardholder_name?: string | null
/**
*
* @type {string}
* @memberof PaymentCard
*/
customer_id?: string | null
/**
*
* @type {string}
* @memberof PaymentCard
*/
merchant_id?: string
/**
* The expiration month of the associated card as an integer between 1 and 12.
* @type {number}
* @memberof PaymentCard
*/
exp_month?: number | null
/**
* The four-digit year of the card's expiration date.
* @type {number}
* @memberof PaymentCard
*/
exp_year?: number | null
/**
*
* @type {string}
* @memberof PaymentCard
*/
fingerprint?: string | null
/**
*
* @type {string}
* @memberof PaymentCard
*/
last_4?: string | null
/**
* Indicates whether or not a card can be used for payments.
* @type {boolean}
* @memberof PaymentCard
*/
enabled?: boolean | null
/**
*
* @type {Address}
* @memberof PaymentCard
*/
billing_address?: Address
/**
* An optional user-defined reference ID that associates this record with another entity in an external system. For example, a customer ID from an external customer management system.
* @type {string}
* @memberof PaymentCard
*/
reference_id?: string | null
/**
*
* @type {string}
* @memberof PaymentCard
*/
version?: string | null
}
/**
* @export
* @enum {string}
*/
export enum PaymentCardCardBrand {
visa = 'visa',
mastercard = 'mastercard',
amex = 'amex',
discover = 'discover',
discover_diners = 'discover-diners',
jcb = 'jcb',
china_unionpay = 'china-unionpay',
square_gift_card = 'square-gift-card',
square_capital_card = 'square-capital-card',
interac = 'interac',
eftpos = 'eftpos',
felica = 'felica',
ebt = 'ebt',
other = 'other'
}
/**
* @export
* @enum {string}
*/
export enum PaymentCardCardType {
credit = 'credit',
debit = 'debit',
prepaid = 'prepaid',
other = 'other'
}
/**
* @export
* @enum {string}
*/
export enum PaymentCardPrepaidType {
non_prepaid = 'non-prepaid',
prepaid = 'prepaid',
unknown = 'unknown'
}
export function PaymentCardFromJSON(json: any): PaymentCard {
return PaymentCardFromJSONTyped(json, false)
}
export function PaymentCardFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaymentCard {
if (json === undefined || json === null) {
return json
}
return {
id: !exists(json, 'id') ? undefined : json['id'],
bin: !exists(json, 'bin') ? undefined : json['bin'],
card_brand: !exists(json, 'card_brand') ? undefined : json['card_brand'],
card_type: !exists(json, 'card_type') ? undefined : json['card_type'],
prepaid_type: !exists(json, 'prepaid_type') ? undefined : json['prepaid_type'],
cardholder_name: !exists(json, 'cardholder_name') ? undefined : json['cardholder_name'],
customer_id: !exists(json, 'customer_id') ? undefined : json['customer_id'],
merchant_id: !exists(json, 'merchant_id') ? undefined : json['merchant_id'],
exp_month: !exists(json, 'exp_month') ? undefined : json['exp_month'],
exp_year: !exists(json, 'exp_year') ? undefined : json['exp_year'],
fingerprint: !exists(json, 'fingerprint') ? undefined : json['fingerprint'],
last_4: !exists(json, 'last_4') ? undefined : json['last_4'],
enabled: !exists(json, 'enabled') ? undefined : json['enabled'],
billing_address: !exists(json, 'billing_address')
? undefined
: AddressFromJSON(json['billing_address']),
reference_id: !exists(json, 'reference_id') ? undefined : json['reference_id'],
version: !exists(json, 'version') ? undefined : json['version']
}
}
export function PaymentCardToJSON(value?: PaymentCard | null): any {
if (value === undefined) {
return undefined
}
if (value === null) {
return null
}
return {
bin: value.bin,
card_brand: value.card_brand,
card_type: value.card_type,
prepaid_type: value.prepaid_type,
cardholder_name: value.cardholder_name,
customer_id: value.customer_id,
merchant_id: value.merchant_id,
exp_month: value.exp_month,
exp_year: value.exp_year,
fingerprint: value.fingerprint,
last_4: value.last_4,
enabled: value.enabled,
billing_address: AddressToJSON(value.billing_address),
reference_id: value.reference_id,
version: value.version
}
}