Search in sources :

Example 1 with PayoutCustomer

use of com.ingenico.connect.gateway.sdk.java.domain.payout.definitions.PayoutCustomer in project connect-sdk-java by Ingenico-ePayments.

the class CreatePayoutExample method example.

@SuppressWarnings("unused")
public void example() throws URISyntaxException, IOException {
    Client client = getClient();
    try {
        AmountOfMoney amountOfMoney = new AmountOfMoney();
        amountOfMoney.setAmount(2345L);
        amountOfMoney.setCurrencyCode("EUR");
        BankAccountIban bankAccountIban = new BankAccountIban();
        bankAccountIban.setAccountHolderName("Wile E. Coyote");
        bankAccountIban.setIban("IT60X0542811101000000123456");
        Address address = new Address();
        address.setCity("Burbank");
        address.setCountryCode("US");
        address.setHouseNumber("411");
        address.setState("California");
        address.setStreet("N Hollywood Way");
        address.setZip("91505");
        CompanyInformation companyInformation = new CompanyInformation();
        companyInformation.setName("Acme Labs");
        ContactDetailsBase contactDetails = new ContactDetailsBase();
        contactDetails.setEmailAddress("wile.e.coyote@acmelabs.com");
        PersonalName name = new PersonalName();
        name.setFirstName("Wile");
        name.setSurname("Coyote");
        name.setSurnamePrefix("E.");
        name.setTitle("Mr.");
        PayoutCustomer customer = new PayoutCustomer();
        customer.setAddress(address);
        customer.setCompanyInformation(companyInformation);
        customer.setContactDetails(contactDetails);
        customer.setName(name);
        BankTransferPayoutMethodSpecificInput bankTransferPayoutMethodSpecificInput = new BankTransferPayoutMethodSpecificInput();
        bankTransferPayoutMethodSpecificInput.setBankAccountIban(bankAccountIban);
        bankTransferPayoutMethodSpecificInput.setCustomer(customer);
        bankTransferPayoutMethodSpecificInput.setPayoutDate("20150102");
        bankTransferPayoutMethodSpecificInput.setPayoutText("Payout Acme");
        bankTransferPayoutMethodSpecificInput.setSwiftCode("swift");
        PayoutReferences references = new PayoutReferences();
        references.setMerchantReference("AcmeOrder001");
        CreatePayoutRequest body = new CreatePayoutRequest();
        body.setAmountOfMoney(amountOfMoney);
        body.setBankTransferPayoutMethodSpecificInput(bankTransferPayoutMethodSpecificInput);
        body.setReferences(references);
        try {
            PayoutResponse response = client.merchant("merchantId").payouts().create(body);
        } catch (DeclinedPayoutException e) {
            handleDeclinedPayout(e.getPayoutResult());
        } catch (ApiException e) {
            handleApiErrors(e.getErrors());
        }
    } finally {
        client.close();
    }
}
Also used : PayoutCustomer(com.ingenico.connect.gateway.sdk.java.domain.payout.definitions.PayoutCustomer) CreatePayoutRequest(com.ingenico.connect.gateway.sdk.java.domain.payout.CreatePayoutRequest) PayoutReferences(com.ingenico.connect.gateway.sdk.java.domain.payout.definitions.PayoutReferences) Address(com.ingenico.connect.gateway.sdk.java.domain.definitions.Address) ContactDetailsBase(com.ingenico.connect.gateway.sdk.java.domain.definitions.ContactDetailsBase) AmountOfMoney(com.ingenico.connect.gateway.sdk.java.domain.definitions.AmountOfMoney) DeclinedPayoutException(com.ingenico.connect.gateway.sdk.java.DeclinedPayoutException) CompanyInformation(com.ingenico.connect.gateway.sdk.java.domain.definitions.CompanyInformation) BankTransferPayoutMethodSpecificInput(com.ingenico.connect.gateway.sdk.java.domain.payout.definitions.BankTransferPayoutMethodSpecificInput) PersonalName(com.ingenico.connect.gateway.sdk.java.domain.payment.definitions.PersonalName) BankAccountIban(com.ingenico.connect.gateway.sdk.java.domain.definitions.BankAccountIban) Client(com.ingenico.connect.gateway.sdk.java.Client) PayoutResponse(com.ingenico.connect.gateway.sdk.java.domain.payout.PayoutResponse) ApiException(com.ingenico.connect.gateway.sdk.java.ApiException)

Aggregations

ApiException (com.ingenico.connect.gateway.sdk.java.ApiException)1 Client (com.ingenico.connect.gateway.sdk.java.Client)1 DeclinedPayoutException (com.ingenico.connect.gateway.sdk.java.DeclinedPayoutException)1 Address (com.ingenico.connect.gateway.sdk.java.domain.definitions.Address)1 AmountOfMoney (com.ingenico.connect.gateway.sdk.java.domain.definitions.AmountOfMoney)1 BankAccountIban (com.ingenico.connect.gateway.sdk.java.domain.definitions.BankAccountIban)1 CompanyInformation (com.ingenico.connect.gateway.sdk.java.domain.definitions.CompanyInformation)1 ContactDetailsBase (com.ingenico.connect.gateway.sdk.java.domain.definitions.ContactDetailsBase)1 PersonalName (com.ingenico.connect.gateway.sdk.java.domain.payment.definitions.PersonalName)1 CreatePayoutRequest (com.ingenico.connect.gateway.sdk.java.domain.payout.CreatePayoutRequest)1 PayoutResponse (com.ingenico.connect.gateway.sdk.java.domain.payout.PayoutResponse)1 BankTransferPayoutMethodSpecificInput (com.ingenico.connect.gateway.sdk.java.domain.payout.definitions.BankTransferPayoutMethodSpecificInput)1 PayoutCustomer (com.ingenico.connect.gateway.sdk.java.domain.payout.definitions.PayoutCustomer)1 PayoutReferences (com.ingenico.connect.gateway.sdk.java.domain.payout.definitions.PayoutReferences)1