Source: types/payment-details.js

/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
/* Copyright (c) 2018 Mobify Research & Development Inc. All rights reserved. */
/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */

import PropTypes from 'prop-types'
import {PositiveInteger} from './positive-integer'

/**
 * @memberOf module:types
 * @typedef {Object} PaymentDetails Details of the payment method (i.e details of a Credit Card, Paypal, GiftCard etc)
 * @property {String} type The type of this payment method (i.e. Visa, Mastercard).
 * @property {String} holderName The name of the account holder.
 * @property {String} number The card/account number or code (i.e. credit card number, gift card code)
 * @property {String} maskedNumber The card/account number or code masked.
 * @property {String} username The card/account username (i.e. Paypal username)
 * @property {module:types.PositiveInteger} expiryMonth The month the card/account expires in number form.
 * @property {module:types.PositiveInteger} expiryYear The year the card/account expires.
 * @property {String} ccv The credit card ccv number (card security code)
 */
export const PaymentDetails = {
    type: PropTypes.string,
    holderName: PropTypes.string,
    number: PositiveInteger,
    maskedNumber: PropTypes.string,
    username: PropTypes.string,
    expiryMonth: PositiveInteger,
    expiryYear: PositiveInteger,
    ccv: PropTypes.string
}