/* tslint:disable */ /* eslint-disable */ /** * PAY.JP Token API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 0.1.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'; function exists(json: any, key: string) { const value = json[key]; return value !== null && value !== undefined; } function mapValues(data: any, fn: (item: any) => any) { return Object.keys(data).reduce((acc, key) => ({ ...acc, [key]: fn(data[key]) }), {}); } import { CardBrand, CardBrandFromJSON, CardBrandFromJSONTyped, CardBrandToJSON } from './'; /** * * @export * @interface Card */ export interface Card { /** * car_で始まり一意なオブジェクトを示す、最大32桁の文字列 * @type {string} * @memberof Card */ id: string; /** * \\\"card\\\"の固定文字列 * @type {string} * @memberof Card */ object?: string; /** * カード作成時のタイムスタンプ * @type {number} * @memberof Card */ created?: number; /** * カード保有者名 * @type {string} * @memberof Card */ name?: string | null; /** * カード番号の下四桁 * @type {string} * @memberof Card */ last4?: string; /** * 有効期限月 * @type {number} * @memberof Card */ expMonth?: number; /** * 有効期限年 * @type {number} * @memberof Card */ expYear?: number; /** * * @type {CardBrand} * @memberof Card */ brand?: CardBrand; /** * CVCコードチェックの結果 * @type {string} * @memberof Card */ cvcCheck?: string; /** * 3Dセキュアの実施結果。 加盟店において3Dセキュアが有効でない等未実施の場合null。 * @type {string} * @memberof Card */ threeDSecureStatus?: string; /** * このクレジットカード番号に紐づく値。 同一番号のカードからは同一の値が生成されることが保証されており、 トークン化の度にトークンIDは変わりますが、この値は変わりません。 * @type {string} * @memberof Card */ fingerprint?: string; /** * メールアドレス 2024年8月以降、3Dセキュア認証の際にphoneまたはemailのデータ入力が求められます。 * @type {string} * @memberof Card */ email?: string | null; /** * E.164形式の電話番号 (e.g. 090-0123-4567(日本) => \"+819001234567\") 2024年8月以降、3Dセキュア認証の際にphoneまたはemailのデータ入力が求められます。 * @type {string} * @memberof Card */ phone?: string | null; /** * 都道府県 * @type {string} * @memberof Card */ addressState?: string | null; /** * 市区町村 * @type {string} * @memberof Card */ addressCity?: string | null; /** * 番地など * @type {string} * @memberof Card */ addressLine1?: string | null; /** * 建物名など * @type {string} * @memberof Card */ addressLine2?: string | null; /** * 2桁のISOコード(e.g. JP) * @type {string} * @memberof Card */ country?: string | null; /** * 郵便番号 * @type {string} * @memberof Card */ addressZip?: string | null; /** * 郵便番号存在チェックの結果 * @type {string} * @memberof Card */ addressZipCheck?: string; /** * 顧客オブジェクトのID * @type {string} * @memberof Card */ customer?: string | null; /** * キーバリューの任意データ * @type {object} * @memberof Card */ metadata?: object; } export function CardFromJSON(json: any): Card { return CardFromJSONTyped(json, false); } export function CardFromJSONTyped(json: any, ignoreDiscriminator: boolean): Card { if (json === undefined || json === null) { return json; } return { id: json['id'], object: !exists(json, 'object') ? undefined : json['object'], created: !exists(json, 'created') ? undefined : json['created'], name: !exists(json, 'name') ? undefined : json['name'], last4: !exists(json, 'last4') ? undefined : json['last4'], expMonth: !exists(json, 'exp_month') ? undefined : json['exp_month'], expYear: !exists(json, 'exp_year') ? undefined : json['exp_year'], brand: !exists(json, 'brand') ? undefined : CardBrandFromJSON(json['brand']), cvcCheck: !exists(json, 'cvc_check') ? undefined : json['cvc_check'], threeDSecureStatus: !exists(json, 'three_d_secure_status') ? undefined : json['three_d_secure_status'], fingerprint: !exists(json, 'fingerprint') ? undefined : json['fingerprint'], email: !exists(json, 'email') ? undefined : json['email'], phone: !exists(json, 'phone') ? undefined : json['phone'], addressState: !exists(json, 'address_state') ? undefined : json['address_state'], addressCity: !exists(json, 'address_city') ? undefined : json['address_city'], addressLine1: !exists(json, 'address_line1') ? undefined : json['address_line1'], addressLine2: !exists(json, 'address_line2') ? undefined : json['address_line2'], country: !exists(json, 'country') ? undefined : json['country'], addressZip: !exists(json, 'address_zip') ? undefined : json['address_zip'], addressZipCheck: !exists(json, 'address_zip_check') ? undefined : json['address_zip_check'], customer: !exists(json, 'customer') ? undefined : json['customer'], metadata: !exists(json, 'metadata') ? undefined : json['metadata'], }; } export function CardToJSON(value?: Card | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { id: value.id, object: value.object, created: value.created, name: value.name, last4: value.last4, exp_month: value.expMonth, exp_year: value.expYear, brand: CardBrandToJSON(value.brand), cvc_check: value.cvcCheck, three_d_secure_status: value.threeDSecureStatus, fingerprint: value.fingerprint, email: value.email, phone: value.phone, address_state: value.addressState, address_city: value.addressCity, address_line1: value.addressLine1, address_line2: value.addressLine2, country: value.country, address_zip: value.addressZip, address_zip_check: value.addressZipCheck, customer: value.customer, metadata: value.metadata, }; }