import { IAttributes as IReturnOrderActionAttributes, IReturnPolicy } from '../action/transfer/return/order'; import { IExtendId } from '../autoGenerated'; import { IProject } from '../project'; import { IAgent, ISeller, ISearchConditions as IBaseSearchConditions, ISendEmailMessageParams, IStartParams as IBaseStartParams, IAttributes as IBaseAttributes } from '../transaction'; import { TransactionType } from '../transactionType'; export { IAgent, ISeller }; export interface IResult { } export type IError = any; /** * 返品理由 */ export declare enum Reason { /** * カスタマー都合での返品 */ Customer = "Customer", /** * 販売者都合での返品 */ Seller = "Seller" } /** * 返品可能な注文 */ export interface IReturnableOrder { confirmationNumber: string; orderNumber: string; } /** * 注文返品開始パラメータ */ export interface IStartParamsWithoutDetail { project: Pick; expiresInSeconds?: number; agent: IAgent; object: { order: IReturnableOrder | IReturnableOrder[]; reason: Reason; }; seller: { id: string; }; } /** * 取引開始パラメータ */ export interface IStartParams extends Omit, 'expires'> { /** * 販売者 */ seller: ISeller; expiresInSeconds: number; } /** * 返金アクションカスタムパラメータ */ export interface IRefundParams { object: { object: { paymentMethod: { /** * 返金対象決済方法ID */ paymentMethodId: string; }; }[]; }; potentialActions?: { /** * 返金メールカスタマイズ */ sendEmailMessage?: ISendEmailMessageParams; }; } export interface IReturnOrderActionParams { object?: { /** * 返品対象注文番号 */ orderNumber?: string; }; /** * 注文返品後アクション */ potentialActions?: { /** * 返金アクションについてカスタマイズする場合に指定 * 属性名称がrefundCreditCardであるが、全ての決済方法に適用可能 */ refundCreditCard?: IRefundParams[]; /** * 返品時Eメール送信アクション */ sendEmailMessage?: ISendEmailMessageParams[]; }; } export interface IPotentialActionsParams { /** * 注文返品アクション */ returnOrder?: IReturnOrderActionParams | IReturnOrderActionParams[]; } export interface IConfirmParams { /** * 取引ID */ id: string; agent?: { id?: string; }; /** * 取引確定後アクション */ potentialActions?: IPotentialActionsParams; } /** * 取引対象物 */ export interface IObject { order: IReturnableOrder[]; reason: Reason; /** * 返品取引開始時に採用された返品ポリシー */ returnPolicy: IReturnPolicy; usedReservationExists?: boolean; } export type IReturnOrderPotentialAction = Pick; export interface IPotentialActions { /** * 注文返品アクション属性 */ returnOrder: IReturnOrderPotentialAction[]; } export interface IAttributes extends IBaseAttributes, IResult, IError, IPotentialActions> { } /** * 返品取引 */ export type ITransaction = IExtendId; export interface ISearchConditions extends IBaseSearchConditions { object?: { order?: { /** * 返品対象注文番号 */ orderNumbers?: string[]; }; result?: {}; }; }