@adyen/api-library
Version:
The Adyen API Library for NodeJS enables you to work with Adyen APIs.
147 lines • 11 kB
JavaScript
;
/*
* The version of the OpenAPI document: v4
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit this class manually.
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TransfersApi = void 0;
const getJsonResponse_1 = __importDefault(require("../../helpers/getJsonResponse"));
const service_1 = __importDefault(require("../../service"));
const resource_1 = __importDefault(require("../resource"));
const objectSerializer_1 = require("../../typings/transfers/objectSerializer");
/**
* API handler for TransfersApi
*/
class TransfersApi extends service_1.default {
constructor(client) {
super(client);
this.API_BASEPATH = "https://balanceplatform-api-test.adyen.com/btl/v4";
this.baseUrl = this.createBaseUrl(this.API_BASEPATH);
}
/**
* @summary Approve initiated transfers
* @param approveTransfersRequest {@link ApproveTransfersRequest }
* @param requestOptions {@link IRequest.Options }
* @return {@link void }
*/
async approveInitiatedTransfers(approveTransfersRequest, requestOptions) {
const endpoint = `${this.baseUrl}/transfers/approve`;
const resource = new resource_1.default(this, endpoint);
const request = objectSerializer_1.ObjectSerializer.serialize(approveTransfersRequest, "ApproveTransfersRequest");
await (0, getJsonResponse_1.default)(resource, request, { ...requestOptions, method: "POST" });
}
/**
* @summary Cancel initiated transfers
* @param cancelTransfersRequest {@link CancelTransfersRequest }
* @param requestOptions {@link IRequest.Options }
* @return {@link void }
*/
async cancelInitiatedTransfers(cancelTransfersRequest, requestOptions) {
const endpoint = `${this.baseUrl}/transfers/cancel`;
const resource = new resource_1.default(this, endpoint);
const request = objectSerializer_1.ObjectSerializer.serialize(cancelTransfersRequest, "CancelTransfersRequest");
await (0, getJsonResponse_1.default)(resource, request, { ...requestOptions, method: "POST" });
}
/**
* @summary Get all transfers
* @param requestOptions {@link IRequest.Options }
* @param createdSince {@link Date } (Required) Only include transfers that have been created on or after this point in time. The value must be in ISO 8601 format and not earlier than 6 months before the `createdUntil` date. For example, **2021-05-30T15:07:40Z**.
* @param createdUntil {@link Date } (Required) Only include transfers that have been created on or before this point in time. The value must be in ISO 8601 format and not later than 6 months after the `createdSince` date. For example, **2021-05-30T15:07:40Z**.
* @param balancePlatform {@link string } The unique identifier of the [balance platform](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balancePlatforms/{id}__queryParam_id). Required if you don\'t provide a `balanceAccountId` or `accountHolderId`.
* @param accountHolderId {@link string } The unique identifier of the [account holder](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/accountHolders/{id}__queryParam_id). Required if you don\'t provide a `balanceAccountId` or `balancePlatform`. If you provide a `balanceAccountId`, the `accountHolderId` must be related to the `balanceAccountId`.
* @param balanceAccountId {@link string } The unique identifier of the [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/get/balanceAccounts/{id}__queryParam_id). Required if you don\'t provide an `accountHolderId` or `balancePlatform`. If you provide an `accountHolderId`, the `balanceAccountId` must be related to the `accountHolderId`.
* @param paymentInstrumentId {@link string } The unique identifier of the [payment instrument](https://docs.adyen.com/api-explorer/balanceplatform/latest/get/paymentInstruments/_id_). To use this parameter, you must also provide a `balanceAccountId`, `accountHolderId`, or `balancePlatform`. The `paymentInstrumentId` must be related to the `balanceAccountId` or `accountHolderId` that you provide.
* @param reference {@link string } The reference you provided in the POST [/transfers](https://docs.adyen.com/api-explorer/transfers/latest/post/transfers) request
* @param category {@link 'bank' | 'card' | 'grants' | 'interest' | 'internal' | 'issuedCard' | 'migration' | 'platformPayment' | 'topUp' | 'upgrade' } The type of transfer. Possible values: - **bank**: Transfer to a [transfer instrument](https://docs.adyen.com/api-explorer/#/legalentity/latest/post/transferInstruments__resParam_id) or a bank account. - **internal**: Transfer to another [balance account](https://docs.adyen.com/api-explorer/#/balanceplatform/latest/post/balanceAccounts__resParam_id) within your platform. - **issuedCard**: Transfer initiated by a Adyen-issued card. - **platformPayment**: Fund movements related to payments that are acquired for your users.
* @param sortOrder {@link 'asc' | 'desc' } Determines the sort order of the returned transfers. The sort order is based on the creation date of the transfers. Possible values: - **asc**: Ascending order, from oldest to most recent. - **desc**: Descending order, from most recent to oldest. Default value: **asc**.
* @param cursor {@link string } The `cursor` returned in the links of the previous response.
* @param limit {@link number } The number of items returned per page, maximum of 100 items. By default, the response returns 10 items per page.
* @return {@link FindTransfersResponse }
*/
async getAllTransfers(createdSince, createdUntil, balancePlatform, accountHolderId, balanceAccountId, paymentInstrumentId, reference, category, sortOrder, cursor, limit, requestOptions) {
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
const endpoint = `${this.baseUrl}/transfers`;
const resource = new resource_1.default(this, endpoint);
const hasDefinedQueryParams = (_j = (_h = (_g = (_f = (_e = (_d = (_c = (_b = (_a = balancePlatform !== null && balancePlatform !== void 0 ? balancePlatform : accountHolderId) !== null && _a !== void 0 ? _a : balanceAccountId) !== null && _b !== void 0 ? _b : paymentInstrumentId) !== null && _c !== void 0 ? _c : reference) !== null && _d !== void 0 ? _d : category) !== null && _e !== void 0 ? _e : createdSince) !== null && _f !== void 0 ? _f : createdUntil) !== null && _g !== void 0 ? _g : sortOrder) !== null && _h !== void 0 ? _h : cursor) !== null && _j !== void 0 ? _j : limit;
if (hasDefinedQueryParams) {
if (!requestOptions)
requestOptions = {};
if (!requestOptions.params)
requestOptions.params = {};
if (balancePlatform)
requestOptions.params["balancePlatform"] = balancePlatform;
if (accountHolderId)
requestOptions.params["accountHolderId"] = accountHolderId;
if (balanceAccountId)
requestOptions.params["balanceAccountId"] = balanceAccountId;
if (paymentInstrumentId)
requestOptions.params["paymentInstrumentId"] = paymentInstrumentId;
if (reference)
requestOptions.params["reference"] = reference;
if (category)
requestOptions.params["category"] = category;
if (createdSince)
requestOptions.params["createdSince"] = createdSince.toISOString();
if (createdUntil)
requestOptions.params["createdUntil"] = createdUntil.toISOString();
if (sortOrder)
requestOptions.params["sortOrder"] = sortOrder;
if (cursor)
requestOptions.params["cursor"] = cursor;
if (limit)
requestOptions.params["limit"] = limit;
}
const response = await (0, getJsonResponse_1.default)(resource, "", { ...requestOptions, method: "GET" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "FindTransfersResponse");
}
/**
* @summary Get a transfer
* @param id {@link string } Unique identifier of the transfer.
* @param requestOptions {@link IRequest.Options }
* @return {@link TransferData }
*/
async getTransfer(id, requestOptions) {
const endpoint = `${this.baseUrl}/transfers/{id}`
.replace("{" + "id" + "}", encodeURIComponent(String(id)));
const resource = new resource_1.default(this, endpoint);
const response = await (0, getJsonResponse_1.default)(resource, "", { ...requestOptions, method: "GET" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "TransferData");
}
/**
* @summary Return a transfer
* @param transferId {@link string } The unique identifier of the transfer to be returned.
* @param returnTransferRequest {@link ReturnTransferRequest }
* @param requestOptions {@link IRequest.Options }
* @return {@link ReturnTransferResponse }
*/
async returnTransfer(transferId, returnTransferRequest, requestOptions) {
const endpoint = `${this.baseUrl}/transfers/{transferId}/returns`
.replace("{" + "transferId" + "}", encodeURIComponent(String(transferId)));
const resource = new resource_1.default(this, endpoint);
const request = objectSerializer_1.ObjectSerializer.serialize(returnTransferRequest, "ReturnTransferRequest");
const response = await (0, getJsonResponse_1.default)(resource, request, { ...requestOptions, method: "POST" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "ReturnTransferResponse");
}
/**
* @summary Transfer funds
* @param transferInfo {@link TransferInfo }
* @param requestOptions {@link IRequest.Options }
* @return {@link Transfer }
*/
async transferFunds(transferInfo, requestOptions) {
const endpoint = `${this.baseUrl}/transfers`;
const resource = new resource_1.default(this, endpoint);
const request = objectSerializer_1.ObjectSerializer.serialize(transferInfo, "TransferInfo");
const response = await (0, getJsonResponse_1.default)(resource, request, { ...requestOptions, method: "POST" });
return objectSerializer_1.ObjectSerializer.deserialize(response, "Transfer");
}
}
exports.TransfersApi = TransfersApi;
//# sourceMappingURL=transfersApi.js.map