mangopay2-nodejs-sdk
Version:
Mangopay Node.js SDK
158 lines (127 loc) • 5.03 kB
TypeScript
import { CountryISO, PickPartialRequired, SecureMode, Timestamp } from "../types";
import { entityBase } from "./entityBase";
import { billing } from "./billing";
import { base } from "../base";
import { money } from "./money";
import { securityInfo } from "./securityInfo";
import { shipping } from "./shipping";
import { card } from "./card";
export namespace cardPreAuthorization {
import BillingData = billing.BillingData;
import BrowserInfoData = base.BrowserInfoData;
import MoneyData = money.MoneyData;
import SecurityInfoData = securityInfo.SecurityInfoData;
import ShippingData = shipping.ShippingData;
import CardInfoData = card.CardInfoData;
type PreAuthorizationExecutionType = "DIRECT";
type PaymentStatus = "WAITING" | "CANCELED" | "EXPIRED" | "VALIDATED";
type PreAuthorizationStatus = "CREATED" | "SUCCEEDED" | "FAILED";
type CreateCardPreAuthorization = PickPartialRequired<CardPreAuthorizationData,
"Tag" | "Billing" | "SecureMode" | "Culture" | "StatementDescriptor" | "Shipping" | "PaymentCategory", "AuthorId" | "DebitedFunds" | "CardId" | "SecureModeReturnURL" | "IpAddress" | "BrowserInfo">;
type UpdateCardPreAuthorization = PickPartialRequired<CardPreAuthorizationData,
"Tag",
"PaymentStatus" | "Id">;
interface CardPreAuthorizationData extends entityBase.EntityBaseData {
/**
* A user's ID
*/
AuthorId: string;
/**
* Information about the funds that are being debited
*/
DebitedFunds: MoneyData;
/**
* Value of the funds remaining on a pre-authorization
*/
RemainingFunds: MoneyData;
/**
* Status of the PreAuthorization
*/
Status: PreAuthorizationStatus;
/**
* The status of the payment after the PreAuthorization. You can pass the PaymentStatus from "WAITING" to "CANCELED" should you need/want to
*/
PaymentStatus: PaymentStatus;
/**
* The result code
*/
ResultCode: string;
/**
* A verbal explanation of the ResultCode
*/
ResultMessage: string;
/**
* How the PreAuthorization has been executed
*/
ExecutionType: PreAuthorizationExecutionType;
/**
* The SecureMode corresponds to '3D secure' for CB Visa and MasterCard. This field lets you activate it manually.
* The field lets you activate it automatically with "DEFAULT" (Secured Mode will be activated from €50 or when MANGOPAY detects there is a higher risk ),
* "FORCE" (if you wish to specifically force the secured mode).
*/
SecureMode: SecureMode;
/**
* The language to use for the payment page - needs to be the ISO code of the language
*/
Culture: CountryISO;
/**
* The ID of a card
*/
CardId: string;
/**
* The value is 'true' if the SecureMode was used
*/
SecureModeNeeded: boolean;
/**
* This is the URL where to redirect users to proceed to 3D secure validation
*/
SecureModeRedirectURL: string;
/**
* This is the URL where users are automatically redirected after 3D secure validation (if activated)
*/
SecureModeReturnURL: string;
/**
* A custom description to appear on the user's bank statement.
* It can be up to 10 characters long, and can only include alphanumeric characters or spaces.
* See here for important info. Note that each bank handles this information differently, some show less or no information.
*/
StatementDescriptor: string;
/**
* The date when the payment is to be processed by
*/
ExpirationDate: Timestamp;
/**
* The Id of the associated PayIn
*/
PayInId: string;
/**
* Contains useful information related to the user billing
*/
Billing: BillingData;
/**
* Contains useful information related to security and fraud
*/
SecurityInfo: SecurityInfoData;
/**
* IP Address of the end user (format IPV4 or IPV6)
*/
IpAddress: string;
/**
* This object describes the Browser being user by an end user
*/
BrowserInfo: BrowserInfoData;
/**
* Contains every useful information's related to the user shipping
*/
Shipping: ShippingData;
CardInfo: CardInfoData;
/**
* The channel through which the user provided their card details, used to indicate mail-order and telephone-order (MOTO) payments:
*
* ECommerce – Payment received online.
*
* TelephoneOrder – Payment received via mail order or telephone order (MOTO).
*/
PaymentCategory: string;
}
}