All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mangopay.core.APIs.implementation.VirtualAccountApiImpl Maven / Gradle / Ivy

There is a newer version: 2.42.0
Show newest version
package com.mangopay.core.APIs.implementation;

import com.google.gson.GsonBuilder;
import com.mangopay.MangoPayApi;
import com.mangopay.core.APIs.ApiBase;
import com.mangopay.core.APIs.VirtualAccountApi;
import com.mangopay.core.Pagination;
import com.mangopay.core.Sorting;
import com.mangopay.entities.VirtualAccount;
import com.mangopay.entities.subentities.VirtualAccountAvailabilities;

import java.util.List;

public class VirtualAccountApiImpl extends ApiBase implements VirtualAccountApi {

    /**
     * Creates new VirtualAccountApiImpl instance.
     *
     * @param root Root/parent instance that holds the OAuthToken and Configuration instance.
     */
    public VirtualAccountApiImpl(MangoPayApi root) {
        super(root);
    }

    @Override
    public VirtualAccount create(String walletId, VirtualAccount virtualAccount) throws Exception {
        return this.create(walletId, virtualAccount, null);
    }

    @Override
    public VirtualAccount create(String walletId, VirtualAccount virtualAccount, String idempotencyKey) throws Exception {
        return this.createObject(VirtualAccount.class, idempotencyKey, "virtual_account_create", virtualAccount, walletId);
    }

    @Override
    public VirtualAccount get(String walletId, String virtualAccountId) throws Exception {
        return this.getObject(VirtualAccount.class, "virtual_account_get", walletId, virtualAccountId);
    }

    @Override
    public List getAll(String walletId, Pagination pagination, Sorting sorting) throws Exception {
        return this.getList(VirtualAccount[].class, VirtualAccount.class, "virtual_account_get_all", pagination, walletId, sorting);
    }

    @Override
    public VirtualAccount deactivate(String walletId, String virtualAccountId) throws Exception {
        return this.updateObject(VirtualAccount.class, "virtual_account_deactivate", new VirtualAccount(), walletId, virtualAccountId);
    }

    @Override
    public VirtualAccountAvailabilities getAvailabilities() throws Exception {
        return this.getObject(VirtualAccountAvailabilities.class, "virtual_account_get_availabilities", (Object) null);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy