Skip to content

Commit bcf29e2

Browse files
authored
[CC-2977] Map payment create state (#180)
1 parent 9ead9a0 commit bcf29e2

3 files changed

Lines changed: 55 additions & 4 deletions

File tree

src/main/java/com/unzer/payment/BasePayment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,6 @@ public void setPaypageId(String paypageId) {
225225
}
226226

227227
public enum State {
228-
PENDING, COMPLETED, CANCELED, PARTLY, PAYMENT_REVIEW, CHARGEBACK
228+
PENDING, COMPLETED, CANCELED, PARTLY, PAYMENT_REVIEW, CHARGEBACK, CREATE
229229
}
230230
}

src/main/java/com/unzer/payment/communication/mapper/ApiToSdkConverter.java

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,36 @@
11
package com.unzer.payment.communication.mapper;
22

3-
import com.unzer.payment.*;
4-
import com.unzer.payment.communication.json.*;
3+
import com.unzer.payment.Authorization;
4+
import com.unzer.payment.BasePayment;
5+
import com.unzer.payment.BaseTransaction;
6+
import com.unzer.payment.Cancel;
7+
import com.unzer.payment.CommercialSector;
8+
import com.unzer.payment.CompanyInfo;
9+
import com.unzer.payment.Customer;
10+
import com.unzer.payment.Linkpay;
11+
import com.unzer.payment.PaylaterInstallmentPlans;
12+
import com.unzer.payment.Payout;
13+
import com.unzer.payment.Paypage;
14+
import com.unzer.payment.Processing;
15+
import com.unzer.payment.Recurring;
16+
import com.unzer.payment.Shipment;
17+
import com.unzer.payment.communication.json.ApiAuthorization;
18+
import com.unzer.payment.communication.json.ApiCancel;
19+
import com.unzer.payment.communication.json.ApiCustomer;
20+
import com.unzer.payment.communication.json.ApiIdObject;
21+
import com.unzer.payment.communication.json.ApiInitPayment;
22+
import com.unzer.payment.communication.json.ApiLinkpay;
23+
import com.unzer.payment.communication.json.ApiObject;
24+
import com.unzer.payment.communication.json.ApiPayment;
25+
import com.unzer.payment.communication.json.ApiPayout;
26+
import com.unzer.payment.communication.json.ApiPaypage;
27+
import com.unzer.payment.communication.json.ApiRecurring;
28+
import com.unzer.payment.communication.json.ApiShipment;
29+
import com.unzer.payment.communication.json.JsonCompanyInfo;
30+
import com.unzer.payment.communication.json.JsonProcessing;
31+
import com.unzer.payment.communication.json.JsonResources;
32+
import com.unzer.payment.communication.json.JsonState;
33+
import com.unzer.payment.communication.json.TransactionStatus;
534
import com.unzer.payment.communication.json.paylater.ApiInstallmentPlans;
635
import com.unzer.payment.marketplace.MarketplaceCancel;
736
import com.unzer.payment.paymenttypes.PaymentType;
@@ -480,7 +509,7 @@ private BasePayment.State getPaymentState(JsonState src) {
480509
return null;
481510
}
482511

483-
if (src.getId() >= 0 && src.getId() <= 5) {
512+
if (src.getId() >= 0 && src.getId() <= BasePayment.State.values().length - 1) {
484513
return BasePayment.State.values()[src.getId()];
485514
}
486515

src/test/java/com/unzer/payment/business/PaymentTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33

44
import com.unzer.payment.Authorization;
5+
import com.unzer.payment.BasePayment;
56
import com.unzer.payment.BaseTransaction;
67
import com.unzer.payment.Cancel;
78
import com.unzer.payment.Charge;
89
import com.unzer.payment.Customer;
910
import com.unzer.payment.Payment;
1011
import com.unzer.payment.PaymentException;
12+
import com.unzer.payment.Paypage;
1113
import com.unzer.payment.Unzer;
1214
import com.unzer.payment.communication.HttpCommunicationException;
1315
import com.unzer.payment.paymenttypes.Card;
@@ -37,6 +39,26 @@ void testFetchPaymentWithAuthorization() {
3739
assertNotNull(payment.getPaymentState());
3840
}
3941

42+
@Test
43+
void testFetchPaymentMapsCreateState() {
44+
// given
45+
Paypage paypageRequest = new Paypage();
46+
paypageRequest.setAmount(new BigDecimal("500.5"));
47+
paypageRequest.setCurrency(Currency.getInstance("EUR"));
48+
paypageRequest.setAction("charge");
49+
paypageRequest.setReturnUrl(unsafeUrl("https://www.unzer.com/"));
50+
51+
Paypage paypage = getUnzer().paypage(paypageRequest);
52+
53+
// when
54+
Payment payment = getUnzer().fetchPayment(paypage.getPaymentId());
55+
56+
// then
57+
assertNotNull(payment);
58+
assertNotNull(payment.getPaymentState());
59+
assertEquals(BasePayment.State.CREATE, payment.getPaymentState());
60+
}
61+
4062
@Test
4163
void testFullChargeAfterAuthorize() {
4264
Authorization authorize = getUnzer().authorize(

0 commit comments

Comments
 (0)