diff --git a/src/main/java/com/iyzipay/model/masspayout/Amount.java b/src/main/java/com/iyzipay/model/masspayout/Amount.java new file mode 100644 index 0000000..b80afdf --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/Amount.java @@ -0,0 +1,32 @@ +package com.iyzipay.model.masspayout; + +import java.math.BigDecimal; + +public class Amount { + private BigDecimal value; + private String currency; + + public BigDecimal getValue() { + return value; + } + + public void setValue(BigDecimal value) { + this.value = value; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } + + @Override + public String toString() { + return "Amount{" + + "value=" + value + + ", currency='" + currency + '\'' + + '}'; + } +} diff --git a/src/main/java/com/iyzipay/model/masspayout/InvalidOrderVo.java b/src/main/java/com/iyzipay/model/masspayout/InvalidOrderVo.java new file mode 100644 index 0000000..19008b1 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/InvalidOrderVo.java @@ -0,0 +1,31 @@ +package com.iyzipay.model.masspayout; + +public class InvalidOrderVo { + private String externalId; + private String errorCode; + private String errorMessage; + + public String getExternalId() { + return externalId; + } + + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + public String getErrorCode() { + return errorCode; + } + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + public String getErrorMessage() { + return errorMessage; + } + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } +} diff --git a/src/main/java/com/iyzipay/model/masspayout/MassPayoutItem.java b/src/main/java/com/iyzipay/model/masspayout/MassPayoutItem.java new file mode 100644 index 0000000..e0dd294 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/MassPayoutItem.java @@ -0,0 +1,72 @@ +package com.iyzipay.model.masspayout; + +import java.io.Serializable; + +public class MassPayoutItem implements Serializable { + private String itemExternalId; + private String recipientType; + private String recipientInfo; + private Amount amount; + private String description; + private String recipientName; + + public String getItemExternalId() { + return itemExternalId; + } + + public void setItemExternalId(String itemExternalId) { + this.itemExternalId = itemExternalId; + } + + public String getRecipientType() { + return recipientType; + } + + public void setRecipientType(String recipientType) { + this.recipientType = recipientType; + } + + public String getRecipientInfo() { + return recipientInfo; + } + + public void setRecipientInfo(String recipientInfo) { + this.recipientInfo = recipientInfo; + } + + public Amount getAmount() { + return amount; + } + + public void setAmount(Amount amount) { + this.amount = amount; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getRecipientName() { + return recipientName; + } + + public void setRecipientName(String recipientName) { + this.recipientName = recipientName; + } + + @Override + public String toString() { + return "MassPayoutItem{" + + "itemExternalId='" + itemExternalId + '\'' + + ", recipientType='" + recipientType + '\'' + + ", recipientInfo='" + recipientInfo + '\'' + + ", amount=" + amount + + ", description='" + description + '\'' + + ", recipientName='" + recipientName + '\'' + + '}'; + } +} diff --git a/src/main/java/com/iyzipay/model/masspayout/MassPayoutOrderRetrieveVo.java b/src/main/java/com/iyzipay/model/masspayout/MassPayoutOrderRetrieveVo.java new file mode 100644 index 0000000..02e42d5 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/MassPayoutOrderRetrieveVo.java @@ -0,0 +1,115 @@ +package com.iyzipay.model.masspayout; + +import com.iyzipay.model.masspayout.enumtype.OrderStatus; +import java.math.BigDecimal; + +public class MassPayoutOrderRetrieveVo { + private String itemExternalId; + private String referenceCode; + private String recipientType; + private String recipientName; + private String recipientInfo; + private String description; + private OrderStatus itemStatus; + private String errorMessage; + private BigDecimal totalAmount; + private BigDecimal commissionAmount; + private String currencyCode; + private String massPayoutRequestId; + + public String getItemExternalId() { + return itemExternalId; + } + + public void setItemExternalId(String itemExternalId) { + this.itemExternalId = itemExternalId; + } + + public String getReferenceCode() { + return referenceCode; + } + + public void setReferenceCode(String referenceCode) { + this.referenceCode = referenceCode; + } + + public String getRecipientType() { + return recipientType; + } + + public void setRecipientType(String recipientType) { + this.recipientType = recipientType; + } + + public String getRecipientName() { + return recipientName; + } + + public void setRecipientName(String recipientName) { + this.recipientName = recipientName; + } + + public String getRecipientInfo() { + return recipientInfo; + } + + public void setRecipientInfo(String recipientInfo) { + this.recipientInfo = recipientInfo; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public OrderStatus getItemStatus() { + return itemStatus; + } + + public void setItemStatus(OrderStatus itemStatus) { + this.itemStatus = itemStatus; + } + + public String getErrorMessage() { + return errorMessage; + } + + public void setErrorMessage(String errorMessage) { + this.errorMessage = errorMessage; + } + + public BigDecimal getTotalAmount() { + return totalAmount; + } + + public void setTotalAmount(BigDecimal totalAmount) { + this.totalAmount = totalAmount; + } + + public BigDecimal getCommissionAmount() { + return commissionAmount; + } + + public void setCommissionAmount(BigDecimal commissionAmount) { + this.commissionAmount = commissionAmount; + } + + public String getCurrencyCode() { + return currencyCode; + } + + public void setCurrencyCode(String currencyCode) { + this.currencyCode = currencyCode; + } + + public String getMassPayoutRequestId() { + return massPayoutRequestId; + } + + public void setMassPayoutRequestId(String massPayoutRequestId) { + this.massPayoutRequestId = massPayoutRequestId; + } +} diff --git a/src/main/java/com/iyzipay/model/masspayout/MassPayoutRetrieveVo.java b/src/main/java/com/iyzipay/model/masspayout/MassPayoutRetrieveVo.java new file mode 100644 index 0000000..2e25806 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/MassPayoutRetrieveVo.java @@ -0,0 +1,97 @@ +package com.iyzipay.model.masspayout; + +import com.iyzipay.model.masspayout.enumtype.MassPayoutStatus; +import java.math.BigDecimal; + +public class MassPayoutRetrieveVo { + private String externalId; + private Long merchantId; + private BigDecimal totalAmount; + private BigDecimal totalSuccessfulAmount; + private MassPayoutStatus massPayoutStatus; + private String receivedDate; + private String completedDate; + private String canceledDate; + private BigDecimal totalCommissionAmount; + private String currency; + + public String getExternalId() { + return externalId; + } + + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + public Long getMerchantId() { + return merchantId; + } + + public void setMerchantId(Long merchantId) { + this.merchantId = merchantId; + } + + public BigDecimal getTotalAmount() { + return totalAmount; + } + + public void setTotalAmount(BigDecimal totalAmount) { + this.totalAmount = totalAmount; + } + + public BigDecimal getTotalSuccessfulAmount() { + return totalSuccessfulAmount; + } + + public void setTotalSuccessfulAmount(BigDecimal totalSuccessfulAmount) { + this.totalSuccessfulAmount = totalSuccessfulAmount; + } + + public MassPayoutStatus getMassPayoutStatus() { + return massPayoutStatus; + } + + public void setMassPayoutStatus(MassPayoutStatus massPayoutStatus) { + this.massPayoutStatus = massPayoutStatus; + } + + public String getReceivedDate() { + return receivedDate; + } + + public void setReceivedDate(String receivedDate) { + this.receivedDate = receivedDate; + } + + public String getCompletedDate() { + return completedDate; + } + + public void setCompletedDate(String completedDate) { + this.completedDate = completedDate; + } + + public String getCanceledDate() { + return canceledDate; + } + + public void setCanceledDate(String canceledDate) { + this.canceledDate = canceledDate; + } + + public BigDecimal getTotalCommissionAmount() { + return totalCommissionAmount; + } + + public void setTotalCommissionAmount(BigDecimal totalCommissionAmount) { + this.totalCommissionAmount = totalCommissionAmount; + } + + public String getCurrency() { + return currency; + } + + public void setCurrency(String currency) { + this.currency = currency; + } +} diff --git a/src/main/java/com/iyzipay/model/masspayout/PageDto.java b/src/main/java/com/iyzipay/model/masspayout/PageDto.java new file mode 100644 index 0000000..4328b89 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/PageDto.java @@ -0,0 +1,57 @@ +package com.iyzipay.model.masspayout; + +import java.util.List; + +public class PageDto { + + private List items; + private int page; + private int size; + private long total; + + public PageDto() { + } + + public PageDto(List items, int page, int size, long total) { + this.items = items; + this.page = page; + this.size = size; + this.total = total; + } + + public static PageDto of(List items, int page, int size, long total) { + return new PageDto<>(items, page, size, total); + } + + public List getItems() { + return items; + } + + public void setItems(List items) { + this.items = items; + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getSize() { + return size; + } + + public void setSize(int size) { + this.size = size; + } + + public long getTotal() { + return total; + } + + public void setTotal(long total) { + this.total = total; + } +} \ No newline at end of file diff --git a/src/main/java/com/iyzipay/model/masspayout/enumtype/ItemType.java b/src/main/java/com/iyzipay/model/masspayout/enumtype/ItemType.java new file mode 100644 index 0000000..895ce9e --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/enumtype/ItemType.java @@ -0,0 +1,6 @@ +package com.iyzipay.model.masspayout.enumtype; + +public enum ItemType { + INVALID, VALID +} + diff --git a/src/main/java/com/iyzipay/model/masspayout/enumtype/MassPayoutStatus.java b/src/main/java/com/iyzipay/model/masspayout/enumtype/MassPayoutStatus.java new file mode 100644 index 0000000..a99a89d --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/enumtype/MassPayoutStatus.java @@ -0,0 +1,23 @@ +package com.iyzipay.model.masspayout.enumtype; + +public enum MassPayoutStatus { + INIT(1), + IN_PROGRESS(2), + SUCCESS(3), + COMPLETED(5), + FAIL(-1), + INSUFFICIENT_BALANCE(-2), + CANCELED(-3), + IYZICO_INSUFFICIENT_BALANCE(-4); + + private final Integer value; + + MassPayoutStatus(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } +} + diff --git a/src/main/java/com/iyzipay/model/masspayout/enumtype/OrderStatus.java b/src/main/java/com/iyzipay/model/masspayout/enumtype/OrderStatus.java new file mode 100644 index 0000000..80c7435 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/enumtype/OrderStatus.java @@ -0,0 +1,24 @@ +package com.iyzipay.model.masspayout.enumtype; + +public enum OrderStatus { + INVALID(-2), + FAILED(-1), + SUCCESS(1), + INIT(2), + PROCESSING(3), + MASS_PAYOUT_CANCELED(5), + QUEUED(6), + DEPOSIT_SUCCESS(7), + DEPOSIT_FAIL(8); + + private final Integer value; + + OrderStatus(Integer value) { + this.value = value; + } + + public Integer getValue() { + return value; + } +} + diff --git a/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutAuth.java b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutAuth.java new file mode 100644 index 0000000..ec4ccd2 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutAuth.java @@ -0,0 +1,20 @@ +package com.iyzipay.model.masspayout.resource; + +import com.iyzipay.HttpClient; +import com.iyzipay.IyzipayResource; +import com.iyzipay.Options; +import com.iyzipay.request.masspayout.MassPayoutAuthRequest; + +public class MassPayoutAuth extends IyzipayResource { + + public static MassPayoutAuth auth(MassPayoutAuthRequest request, Options options) { + String path = "/v1/mass/payout/auth"; + String uri = options.getBaseUrl() + path; + return HttpClient.create().post(uri, + getHttpProxy(options), + getHttpHeadersV2("/v1/mass/payout/auth", request, options), + request, + MassPayoutAuth.class); + } +} + diff --git a/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutBalanceRetrieve.java b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutBalanceRetrieve.java new file mode 100644 index 0000000..5ccbf6d --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutBalanceRetrieve.java @@ -0,0 +1,30 @@ +package com.iyzipay.model.masspayout.resource; + +import com.iyzipay.HttpClient; +import com.iyzipay.IyzipayResource; +import com.iyzipay.Options; + +import java.math.BigDecimal; + +public class MassPayoutBalanceRetrieve extends IyzipayResource { + private BigDecimal balance; + + public static MassPayoutBalanceRetrieve retrieve(Options options) { + String path = "/v1/mass/payout/balance"; + String uri = options.getBaseUrl() + path; + return HttpClient.create().get(uri, + getHttpProxy(options), + getHttpHeadersV2("/v1/mass/payout/balance", null, options), + null, + MassPayoutBalanceRetrieve.class); + } + + public BigDecimal getBalance() { + return balance; + } + + public void setBalance(BigDecimal balance) { + this.balance = balance; + } +} + diff --git a/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutCancel.java b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutCancel.java new file mode 100644 index 0000000..965465d --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutCancel.java @@ -0,0 +1,19 @@ +package com.iyzipay.model.masspayout.resource; + +import com.iyzipay.HttpClient; +import com.iyzipay.IyzipayResource; +import com.iyzipay.Options; + +public class MassPayoutCancel extends IyzipayResource { + + public static MassPayoutCancel cancel(String requestId, Options options) { + String path = "/v1/mass/payout/cancel/" + requestId; + String uri = options.getBaseUrl() + path; + return HttpClient.create().post(uri, + getHttpProxy(options), + getHttpHeadersV2("/v1/mass/payout/cancel/" + requestId, null, options), + null, + MassPayoutCancel.class); + } +} + diff --git a/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutInit.java b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutInit.java new file mode 100644 index 0000000..9820887 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutInit.java @@ -0,0 +1,42 @@ +package com.iyzipay.model.masspayout.resource; + +import com.iyzipay.HttpClient; +import com.iyzipay.IyzipayResource; +import com.iyzipay.Options; +import com.iyzipay.model.masspayout.InvalidOrderVo; +import com.iyzipay.request.masspayout.MassPayoutInitRequest; + +import java.util.List; + +public class MassPayoutInit extends IyzipayResource { + + private String requestId; + private List invalidItems; + + public static MassPayoutInit init(MassPayoutInitRequest request, Options options) { + String path = "/v1/mass/payout/init"; + String uri = options.getBaseUrl() + path; + return HttpClient.create().post(uri, + getHttpProxy(options), + getHttpHeadersV2("/v1/mass/payout/init", request, options), + request, + MassPayoutInit.class); + } + + public String getRequestId() { + return requestId; + } + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + public List getInvalidItems() { + return invalidItems; + } + + public void setInvalidItems(List invalidItems) { + this.invalidItems = invalidItems; + } +} + diff --git a/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutOrderRetrieve.java b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutOrderRetrieve.java new file mode 100644 index 0000000..f8488d1 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutOrderRetrieve.java @@ -0,0 +1,29 @@ +package com.iyzipay.model.masspayout.resource; + +import com.iyzipay.HttpClient; +import com.iyzipay.IyzipayResource; +import com.iyzipay.Options; +import com.iyzipay.model.masspayout.MassPayoutOrderRetrieveVo; + +public class MassPayoutOrderRetrieve extends IyzipayResource { + private MassPayoutOrderRetrieveVo item; + + public static MassPayoutOrderRetrieve retrieve(String referenceCode, Options options) { + String path = "/v1/mass/payout/retrieve/items/" + referenceCode; + String uri = options.getBaseUrl() + path; + return HttpClient.create().get(uri, + getHttpProxy(options), + getHttpHeadersV2("/v1/mass/payout/retrieve/items/" + referenceCode, null, options), + null, + MassPayoutOrderRetrieve.class); + } + + public MassPayoutOrderRetrieveVo getItem() { + return item; + } + + public void setItem(MassPayoutOrderRetrieveVo item) { + this.item = item; + } +} + diff --git a/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutRetrieve.java b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutRetrieve.java new file mode 100644 index 0000000..6ace053 --- /dev/null +++ b/src/main/java/com/iyzipay/model/masspayout/resource/MassPayoutRetrieve.java @@ -0,0 +1,42 @@ +package com.iyzipay.model.masspayout.resource; + +import com.iyzipay.HttpClient; +import com.iyzipay.IyzipayResource; +import com.iyzipay.Options; +import com.iyzipay.model.masspayout.MassPayoutOrderRetrieveVo; +import com.iyzipay.model.masspayout.MassPayoutRetrieveVo; +import com.iyzipay.model.masspayout.PageDto; +import com.iyzipay.request.masspayout.MassPayoutRetrieveRequest; + +public class MassPayoutRetrieve extends IyzipayResource { + + private MassPayoutRetrieveVo massPayout; + private PageDto massPayoutItems; + + public static MassPayoutRetrieve retrieve(MassPayoutRetrieveRequest request, Options options) { + String path = "/v1/mass/payout/retrieve"; + String uri = options.getBaseUrl() + path; + return HttpClient.create().post(uri, + getHttpProxy(options), + getHttpHeadersV2("/v1/mass/payout/retrieve", request, options), + request, + MassPayoutRetrieve.class); + } + + public MassPayoutRetrieveVo getMassPayout() { + return massPayout; + } + + public void setMassPayout(MassPayoutRetrieveVo massPayout) { + this.massPayout = massPayout; + } + + public PageDto getMassPayoutItems() { + return massPayoutItems; + } + + public void setMassPayoutItems(PageDto massPayoutItems) { + this.massPayoutItems = massPayoutItems; + } +} + diff --git a/src/main/java/com/iyzipay/request/masspayout/MassPayoutAuthRequest.java b/src/main/java/com/iyzipay/request/masspayout/MassPayoutAuthRequest.java new file mode 100644 index 0000000..6ec9451 --- /dev/null +++ b/src/main/java/com/iyzipay/request/masspayout/MassPayoutAuthRequest.java @@ -0,0 +1,22 @@ +package com.iyzipay.request.masspayout; + +import com.iyzipay.Request; + +public class MassPayoutAuthRequest extends Request { + private String requestId; + + public String getRequestId() { + return requestId; + } + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + @Override + public String toString() { + return "MassPayoutAuthRequest{" + + "requestId='" + requestId + '\'' + + '}'; + } +} \ No newline at end of file diff --git a/src/main/java/com/iyzipay/request/masspayout/MassPayoutInitRequest.java b/src/main/java/com/iyzipay/request/masspayout/MassPayoutInitRequest.java new file mode 100644 index 0000000..1eb0491 --- /dev/null +++ b/src/main/java/com/iyzipay/request/masspayout/MassPayoutInitRequest.java @@ -0,0 +1,46 @@ +package com.iyzipay.request.masspayout; + +import com.iyzipay.Request; +import com.iyzipay.model.masspayout.MassPayoutItem; + +import java.util.List; + +public class MassPayoutInitRequest extends Request { + + private String externalId; + private String purpose; + private List items; + + public String getExternalId() { + return externalId; + } + + public void setExternalId(String externalId) { + this.externalId = externalId; + } + + public String getPurpose() { + return purpose; + } + + public void setPurpose(String purpose) { + this.purpose = purpose; + } + + public List getItems() { + return items; + } + + public void setItems(List items) { + this.items = items; + } + + @Override + public String toString() { + return "MassPayoutInitRequest{" + + "externalId='" + externalId + '\'' + + ", purpose='" + purpose + '\'' + + ", items=" + items + + '}'; + } +} diff --git a/src/main/java/com/iyzipay/request/masspayout/MassPayoutRetrieveRequest.java b/src/main/java/com/iyzipay/request/masspayout/MassPayoutRetrieveRequest.java new file mode 100644 index 0000000..9af3f47 --- /dev/null +++ b/src/main/java/com/iyzipay/request/masspayout/MassPayoutRetrieveRequest.java @@ -0,0 +1,64 @@ +package com.iyzipay.request.masspayout; + +import com.iyzipay.Request; +import com.iyzipay.model.masspayout.enumtype.ItemType; + +public class MassPayoutRetrieveRequest extends Request { + + private String externalMassPayoutId; + private String requestId; + private ItemType itemType; + private Integer page; + private Integer size; + + public String getExternalMassPayoutId() { + return externalMassPayoutId; + } + + public void setExternalMassPayoutId(String externalMassPayoutId) { + this.externalMassPayoutId = externalMassPayoutId; + } + + public String getRequestId() { + return requestId; + } + + public void setRequestId(String requestId) { + this.requestId = requestId; + } + + public ItemType getItemType() { + return itemType; + } + + public void setItemType(ItemType itemType) { + this.itemType = itemType; + } + + public Integer getPage() { + return page; + } + + public void setPage(Integer page) { + this.page = page; + } + + public Integer getSize() { + return size; + } + + public void setSize(Integer size) { + this.size = size; + } + + @Override + public String toString() { + return "MassPayoutRetrieveRequest{" + + "externalMassPayoutId='" + externalMassPayoutId + '\'' + + ", requestId='" + requestId + '\'' + + ", itemType=" + itemType + + ", page=" + page + + ", size=" + size + + '}'; + } +} diff --git a/src/test/java/com/iyzipay/sample/masspayout/MassPayoutAuthSample.java b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutAuthSample.java new file mode 100644 index 0000000..0d45764 --- /dev/null +++ b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutAuthSample.java @@ -0,0 +1,27 @@ +package com.iyzipay.sample.masspayout; + +import com.iyzipay.model.Locale; +import com.iyzipay.model.Status; +import com.iyzipay.model.masspayout.resource.MassPayoutAuth; +import com.iyzipay.request.masspayout.MassPayoutAuthRequest; +import com.iyzipay.sample.Sample; +import org.junit.Test; + +import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertTrue; + +public class MassPayoutAuthSample extends Sample { + + @Test + public void should_auth_mass_payout() { + MassPayoutAuthRequest request = new MassPayoutAuthRequest(); + request.setLocale(Locale.TR.name()); + request.setConversationId("ConversationId"); + request.setRequestId("requestId"); + + MassPayoutAuth response = MassPayoutAuth.auth(request, options); + + assertEquals(Status.SUCCESS.getValue(), response.getStatus()); + assertTrue(response.getSystemTime() > 0L); + } +} diff --git a/src/test/java/com/iyzipay/sample/masspayout/MassPayoutCancelSample.java b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutCancelSample.java new file mode 100644 index 0000000..3d79274 --- /dev/null +++ b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutCancelSample.java @@ -0,0 +1,21 @@ +package com.iyzipay.sample.masspayout; + +import com.iyzipay.model.Status; +import com.iyzipay.model.masspayout.resource.MassPayoutCancel; +import com.iyzipay.sample.Sample; +import org.junit.Test; + +import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertNotNull; + +public class MassPayoutCancelSample extends Sample { + + @Test + public void should_cancel_mass_payout() { + MassPayoutCancel response = MassPayoutCancel.cancel("requestId", options); + + assertNotNull(response); + System.out.println("MassPayoutInit Response: " + response); + assertEquals(Status.SUCCESS.getValue(), response.getStatus()); + } +} \ No newline at end of file diff --git a/src/test/java/com/iyzipay/sample/masspayout/MassPayoutInitSample.java b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutInitSample.java new file mode 100644 index 0000000..973b928 --- /dev/null +++ b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutInitSample.java @@ -0,0 +1,61 @@ +package com.iyzipay.sample.masspayout; + +import com.iyzipay.model.masspayout.Amount; +import com.iyzipay.model.Locale; +import com.iyzipay.model.masspayout.MassPayoutItem; +import com.iyzipay.model.Status; +import com.iyzipay.model.masspayout.resource.MassPayoutInit; +import com.iyzipay.request.masspayout.MassPayoutInitRequest; +import com.iyzipay.sample.Sample; +import org.junit.Test; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +public class MassPayoutInitSample extends Sample { + + @Test + public void should_init_mass_payout() { + MassPayoutItem item = new MassPayoutItem(); + item.setDescription("description"); + item.setRecipientInfo("TR1234567891212"); + item.setRecipientName("John Doe"); + item.setRecipientType("IBAN"); + item.setItemExternalId("itemExternalId"); + item.setAmount(createAmount("TRY", BigDecimal.ONE)); + + List items = new ArrayList<>(); + items.add(item); + + MassPayoutInitRequest request = new MassPayoutInitRequest(); + request.setLocale(Locale.TR.name()); + request.setConversationId("123456789"); + request.setExternalId(UUID.randomUUID().toString()); + request.setPurpose("SALARY"); + request.setItems(items); + + MassPayoutInit response = MassPayoutInit.init(request, options); + + System.out.println("MassPayoutInit Response: " + response); + + assertNotNull(response); + assertEquals(Status.SUCCESS.getValue(), response.getStatus()); + assertEquals("123456789", response.getConversationId()); + assertNotNull(response.getRequestId()); + assertNotNull(response.getInvalidItems()); + assertTrue(response.getInvalidItems().isEmpty()); + } + + private Amount createAmount(String aTry, BigDecimal one) { + Amount amount = new Amount(); + amount.setCurrency(aTry); + amount.setValue(one); + return amount; + } +} diff --git a/src/test/java/com/iyzipay/sample/masspayout/MassPayoutOrderRetrieveSample.java b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutOrderRetrieveSample.java new file mode 100644 index 0000000..0f66219 --- /dev/null +++ b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutOrderRetrieveSample.java @@ -0,0 +1,27 @@ +package com.iyzipay.sample.masspayout; + +import com.iyzipay.model.masspayout.enumtype.OrderStatus; +import com.iyzipay.model.Status; +import com.iyzipay.model.masspayout.resource.MassPayoutOrderRetrieve; +import com.iyzipay.sample.Sample; +import org.junit.Test; + +import static junit.framework.TestCase.assertEquals; + +public class MassPayoutOrderRetrieveSample extends Sample { + + @Test + public void should_retrieve_mass_payout_order() { + MassPayoutOrderRetrieve response = MassPayoutOrderRetrieve + .retrieve("orderReferenceCode", options); + + assertEquals(Status.SUCCESS.getValue(), response.getStatus()); + assertEquals("ext-93993493", response.getItem().getItemExternalId()); + assertEquals("a5a8ab5e-771f-4edb-9370-695f77559308", response.getItem().getReferenceCode()); + assertEquals("IBAN", response.getItem().getRecipientType()); + assertEquals("Payment for services", response.getItem().getDescription()); + assertEquals(OrderStatus.INIT, response.getItem().getItemStatus()); + assertEquals("TRY", response.getItem().getCurrencyCode()); + assertEquals("4ac393f3-e917-4805-be90-f504a0e5c9a2", response.getItem().getMassPayoutRequestId()); + } +} diff --git a/src/test/java/com/iyzipay/sample/masspayout/MassPayoutRetrieveBalanceSample.java b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutRetrieveBalanceSample.java new file mode 100644 index 0000000..3d2d529 --- /dev/null +++ b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutRetrieveBalanceSample.java @@ -0,0 +1,22 @@ +package com.iyzipay.sample.masspayout; + +import com.iyzipay.model.Status; +import com.iyzipay.model.masspayout.resource.MassPayoutBalanceRetrieve; +import com.iyzipay.sample.Sample; +import org.junit.Test; + +import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertNotNull; + +public class MassPayoutRetrieveBalanceSample extends Sample { + + @Test + public void should_retrieve_mass_payout_balance() { + MassPayoutBalanceRetrieve response = MassPayoutBalanceRetrieve.retrieve(options); + + System.out.println("MassPayoutBalanceRetrieve Response: " + response); + + assertNotNull(response); + assertEquals(Status.SUCCESS.getValue(), response.getStatus()); + } +} diff --git a/src/test/java/com/iyzipay/sample/masspayout/MassPayoutRetrieveSample.java b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutRetrieveSample.java new file mode 100644 index 0000000..4c389b4 --- /dev/null +++ b/src/test/java/com/iyzipay/sample/masspayout/MassPayoutRetrieveSample.java @@ -0,0 +1,31 @@ +package com.iyzipay.sample.masspayout; + +import com.iyzipay.model.masspayout.enumtype.ItemType; +import com.iyzipay.model.Locale; +import com.iyzipay.model.Status; +import com.iyzipay.model.masspayout.resource.MassPayoutRetrieve; +import com.iyzipay.request.masspayout.MassPayoutRetrieveRequest; +import com.iyzipay.sample.Sample; +import org.junit.Test; + +import static junit.framework.TestCase.assertEquals; + +public class MassPayoutRetrieveSample extends Sample { + + @Test + public void should_retrieve_mass_payout() { + MassPayoutRetrieveRequest request = new MassPayoutRetrieveRequest(); + request.setRequestId("requestId"); + request.setLocale(Locale.TR.name()); + request.setConversationId("123456789"); + request.setSize(10); + request.setPage(0); + request.setItemType(ItemType.VALID); + + MassPayoutRetrieve response = MassPayoutRetrieve.retrieve(request, options); + + System.out.println("MassPayoutRetrieve Response: " + response); + + assertEquals(response.getStatus(), Status.SUCCESS.getValue()); + } +}