Source

model/DigiPayModel/DigitalPayUpdatePaymentAgreementRequest.d.ts

import { DigitalPayAddress } from "./DigitalPayAddress";
import { DigitalPayFraudResponse } from "./DigitalPayPaymentResponse";
import { PaymentAgreementChargeFrequency } from "../PaymentAgreement";

/**
 * The JSON request structure of the Update Payment Agreement endpoint.
 *
 * @category Model
 */
export interface DigitalPayUpdatePaymentAgreementRequest {
	/**
	 * A merchant application specific reference number.
	 *
	 * This number should uniquely identify the transaction in the merchant’s system.
	 */
	clientReference: string;

	/**
	 * A merchant application specific reference number.
	 *
	 * This number should uniquely identify the customer in the merchant’s system.
	 */
	customerRef?: string;

	/** Customer billing address for this payment agreement */
	billingAddress?: DigitalPayAddress;

	/** Detail of the payment agreement to be created */
	paymentAgreement?: DigitalPayPaymentAgreementUpdate;

	/** Digital pay fraud payload */
	fraudPayload?: DigitalPayFraudResponse;
}

export interface DigitalPayPaymentAgreementUpdate {
	/** The payment agreement payment instrument id that will be used for the charges. */
	paymentInstrumentId: string;

	/** The payment agreement charge frequency. */
	chargeFrequency: PaymentAgreementChargeFrequency;

	/** The amount that will be charged at the frequency specified in the payment agreement. */
	chargeAmount: number;

	/** The payment agreement start date and time. The timestamp format is ISO8601. */
	startDate?: string;

	/** The payment agreement end date and time. The timestamp format is ISO8601. */
	endDate?: string;

	/**
	 * The step-up token is used to track additional credit card information (eg. CVV and expiry) attached to the payment instrument.
	 *
	 * It's only valid for a predefined time and if an expired step-up token is used during validation, the validation of that instrument will fail and the user will have to get a new step-up token before retrying the API call. A step-up token is returned in the response of a credit card iframe. This property is only required for credit card instruments and only if specific credit card information (eg. CVV and expiry) is required during the API call.
	 */
	stepUpToken: string;
}