Skip to content

Commit d9c4fc0

Browse files
[Feature]Add properties industry (#306)
* feat: Add properties PF Industry * fix: Remove changes * fix: Revert * remove spaces * update example * review: adição de campos OffsetDateTime * Remove surname * Remove exemplo --------- Co-authored-by: dcestari_meli <[email protected]>
1 parent 8c6303e commit d9c4fc0

File tree

12 files changed

+254
-6
lines changed

12 files changed

+254
-6
lines changed

src/main/java/com/mercadopago/client/payment/PaymentAdditionalInfoPayerRequest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.mercadopago.client.payment;
22

33
import com.mercadopago.client.common.AddressRequest;
4+
import com.mercadopago.client.common.IdentificationRequest;
45
import com.mercadopago.client.common.PhoneRequest;
56
import java.time.OffsetDateTime;
67
import lombok.Builder;
@@ -9,7 +10,7 @@
910
/** PaymentAdditionalInfoPayerRequest class. */
1011
@Getter
1112
@Builder
12-
public class PaymentAdditionalInfoPayerRequest {
13+
public class PaymentAdditionalInfoPayerRequest{
1314
/** Payer first name. */
1415
private final String firstName;
1516

@@ -36,4 +37,7 @@ public class PaymentAdditionalInfoPayerRequest {
3637

3738
/** Date of last purchase. */
3839
private final OffsetDateTime lastPurchase;
40+
41+
/** Payer's personal identification. */
42+
private final IdentificationRequest identification;
3943
}

src/main/java/com/mercadopago/client/payment/PaymentItemRequest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ public class PaymentItemRequest {
1515
/** Item name. */
1616
private final String title;
1717

18+
/** Type of the item. */
19+
private final String type;
20+
1821
/** Long item description. */
1922
private final String description;
2023

@@ -24,6 +27,9 @@ public class PaymentItemRequest {
2427
/** Category of the item. */
2528
private final String categoryId;
2629

30+
/** Currency of the unit price. */
31+
private final String currencyId;
32+
2733
/** Item's quantity. */
2834
private final Integer quantity;
2935

src/main/java/com/mercadopago/client/payment/PaymentPayerRequest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,19 @@
44
import lombok.Builder;
55
import lombok.Getter;
66

7+
import java.util.Date;
8+
79
/** PaymentPayerRequest class. */
810
@Getter
911
@Builder
1012
public class PaymentPayerRequest {
13+
14+
/** Payer's authentication type. */
15+
private final String authenticationType;
16+
17+
/** Payer's name. */
18+
private final String name;
19+
1120
/** Payer's identification type (mandatory if the payer is a Customer). */
1221
private final String type;
1322

src/main/java/com/mercadopago/client/preference/PreferenceItemRequest.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ public class PreferenceItemRequest {
1414
/** Item name. */
1515
private final String title;
1616

17+
/** Type of the item. */
18+
private final String type;
19+
1720
/** Long item description. */
1821
private final String description;
1922

@@ -23,15 +26,19 @@ public class PreferenceItemRequest {
2326
/** Category of the item. */
2427
private final String categoryId;
2528

29+
/** Currency ID. Code ISO_4217. */
30+
private final String currencyId;
31+
2632
/** Item's quantity. */
2733
private final Integer quantity;
2834

2935
/** Unit price. */
3036
private final BigDecimal unitPrice;
3137

32-
/** Currency ID. ISO_4217 code. */
33-
private final String currencyId;
34-
3538
/** Category descriptor*/
3639
private final PreferenceCategoryDescriptorRequest categoryDescriptor;
40+
41+
/** True if you purchase the item with warranty, false if not. */
42+
private final boolean warranty;
3743
}
44+

src/main/java/com/mercadopago/client/preference/PreferencePayerRequest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import com.mercadopago.client.common.IdentificationRequest;
55
import com.mercadopago.client.common.PhoneRequest;
66
import java.time.OffsetDateTime;
7+
import java.util.Date;
8+
79
import lombok.Builder;
810
import lombok.Getter;
911

@@ -31,4 +33,19 @@ public class PreferencePayerRequest {
3133

3234
/** Date of creation of the payer user. */
3335
private final OffsetDateTime dateCreated;
36+
37+
/** Payer's authentication type. */
38+
private final String authenticationType;
39+
40+
/** Indicates if the payer is a prime user. */
41+
private final boolean isPrimeUser;
42+
43+
/** Indicates if it's the payer's first purchase online. */
44+
private final boolean isFirstPurchaseOnline;
45+
46+
/** Registration date of the payer. */
47+
private final OffsetDateTime registrationDate;
48+
49+
/** Date of the last purchase made by the payer. */
50+
private final OffsetDateTime lastPurchase;
3451
}
Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
package com.mercadopago.example.apis.payment;
2+
3+
import com.mercadopago.MercadoPagoConfig;
4+
import com.mercadopago.client.common.IdentificationRequest;
5+
import com.mercadopago.client.common.PhoneRequest;
6+
import com.mercadopago.client.common.SubMerchant;
7+
import com.mercadopago.client.payment.*;
8+
import com.mercadopago.resources.payment.Payment;
9+
import com.mercadopago.exceptions.MPApiException;
10+
import com.mercadopago.exceptions.MPException;
11+
import java.math.BigDecimal;
12+
import java.time.OffsetDateTime;
13+
import java.util.*;
14+
15+
public class Main {
16+
public static void main(String[] args) throws MPException, MPApiException {
17+
MercadoPagoConfig.setAccessToken("{{ACCESS_TOKEN}}");
18+
19+
PaymentClient client = new PaymentClient();
20+
IdentificationRequest payeridentification = IdentificationRequest.builder()
21+
.type("CPF")
22+
.number("{{DOC_NUMBER}}")
23+
.build();
24+
25+
PaymentPayerAddressRequest payeraddress = PaymentPayerAddressRequest.builder()
26+
.zipCode("{{CODE}}")
27+
.streetName("Rua AAAAA")
28+
.streetNumber("123")
29+
.build();
30+
31+
PhoneRequest payerphone = PhoneRequest.builder()
32+
.areaCode("{{CODE}}")
33+
.number("{{PHONE_NUMBER}}")
34+
.build();
35+
36+
PaymentPassengerRequest passenger = PaymentPassengerRequest.builder()
37+
.identification(payeridentification)
38+
.firstName("First Name")
39+
.lastName("Last Name")
40+
.build();
41+
42+
PaymentRouteRequest route = PaymentRouteRequest.builder()
43+
.departure("São Paulo")
44+
.destination("Rio de Janeiro")
45+
.departureDateTime(OffsetDateTime.parse("2020-08-06T09:25:04.000-03:00"))
46+
.arrivalDateTime(OffsetDateTime.parse("2020-08-06T09:25:04.000-03:00"))
47+
.company("Company")
48+
.build();
49+
50+
PaymentCategoryDescriptorRequest categoryDescriptor = PaymentCategoryDescriptorRequest.builder()
51+
.passenger(passenger)
52+
.route(route)
53+
.build();
54+
55+
PaymentAdditionalInfoPayerRequest additionalInfoPayerRequest = PaymentAdditionalInfoPayerRequest.builder()
56+
.firstName("First Name")
57+
.lastName("Last Name")
58+
.phone(payerphone)
59+
.address(payeraddress)
60+
.registrationDate(OffsetDateTime.parse("2020-08-06T09:25:04.000-03:00"))
61+
.isPrimeUser(true)
62+
.isFirstPurchaseOnline(true)
63+
.authenticationType("Gmail")
64+
.lastPurchase(OffsetDateTime.parse("2020-08-06T09:25:04.000-03:00"))
65+
.build();
66+
67+
PaymentPayerRequest payer = PaymentPayerRequest.builder()
68+
.firstName("First Name")
69+
.lastName("Last Name")
70+
.email("{{PAYER_EMAIL}}")
71+
.identification(payeridentification)
72+
.address(payeraddress)
73+
.build();
74+
75+
List<PaymentItemRequest> itemsList = new ArrayList<>();
76+
77+
PaymentItemRequest item = PaymentItemRequest.builder()
78+
.id("1941")
79+
.title("title")
80+
.description("description")
81+
.pictureUrl("pictureUrl")
82+
.categoryId("categoryId")
83+
.quantity(1)
84+
.unitPrice(new BigDecimal("100"))
85+
.eventDate(OffsetDateTime.parse("2020-08-06T09:25:04.000-03:00"))
86+
.type("type")
87+
.warranty(true)
88+
.categoryDescriptor(categoryDescriptor)
89+
.build();
90+
itemsList.add(item);
91+
92+
PaymentReceiverAddressRequest receiverAddress = PaymentReceiverAddressRequest.builder()
93+
.zipCode("{{CODE}}")
94+
.streetName("Street Name")
95+
.streetNumber("1234")
96+
.floor("5")
97+
.apartment("12345")
98+
.stateName("DF")
99+
.cityName("Bogota")
100+
.build();
101+
102+
PaymentShipmentsRequest shipments = PaymentShipmentsRequest.builder()
103+
.localPickup(true)
104+
.expressShipment(true)
105+
.receiverAddress(receiverAddress)
106+
.build();
107+
108+
PaymentAdditionalInfoRequest additional = PaymentAdditionalInfoRequest.builder()
109+
.items(itemsList)
110+
.payer(additionalInfoPayerRequest)
111+
.shipments(shipments)
112+
.build();
113+
114+
SubMerchant subMerchant = SubMerchant.builder()
115+
.subMerchantId("12345")
116+
.mcc("1234")
117+
.country("BRA")
118+
.addressDoorNumber(123)
119+
.zip("{{CODE}}")
120+
.documentNumber("{{DOC_NUMBER}}")
121+
.city("SÃO PAULO")
122+
.addressStreet("RUA A")
123+
.legalName("{{NAME}}")
124+
.regionCodeIso("BR-MG")
125+
.regionCode("BR")
126+
.documentType("CNPJ")
127+
.phone("{{PHONE_NUMBER}}")
128+
.url("{{URL}}")
129+
.build();
130+
131+
PaymentForwardDataRequest forwardData = PaymentForwardDataRequest.builder()
132+
.subMerchant(subMerchant)
133+
.build();
134+
135+
PaymentCreateRequest createRequest = PaymentCreateRequest.builder()
136+
.transactionAmount(new BigDecimal("1000"))
137+
.description("Title")
138+
.paymentMethodId("pix")
139+
.binaryMode(true)
140+
.capture(true)
141+
.externalReference("external_reference")
142+
.statementDescriptor("Store 123")
143+
.notificationUrl("{{URL}}")
144+
.payer(payer)
145+
.additionalInfo(additional)
146+
.forwardData(forwardData)
147+
.build();
148+
149+
try {
150+
Payment payment = client.create(createRequest);
151+
System.out.println(payment.getId());
152+
} catch (MPApiException ex) {
153+
System.out.printf(
154+
"MercadoPago Error. Status: %s, Content: %s%n",
155+
ex.getApiResponse().getStatusCode(), ex.getApiResponse().getContent());
156+
} catch (MPException ex) {
157+
ex.printStackTrace();
158+
}
159+
}
160+
}

src/main/java/com/mercadopago/resources/customer/Customer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.mercadopago.resources.customer;
22

3-
import com.mercadopago.net.MPResource;
43
import com.mercadopago.resources.common.Identification;
54
import com.mercadopago.resources.common.Phone;
5+
import com.mercadopago.net.MPResource;
66
import java.time.OffsetDateTime;
77
import java.util.List;
88
import java.util.Map;

src/main/java/com/mercadopago/resources/payment/PaymentItem.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ public class PaymentItem {
1212
/** Item name. */
1313
private String title;
1414

15+
/** Type of the item. */
16+
private String type;
17+
1518
/** Long item description. */
1619
private String description;
1720

@@ -21,9 +24,15 @@ public class PaymentItem {
2124
/** Category of the item. */
2225
private String categoryId;
2326

27+
/** Currency of the unit price. */
28+
private String currencyId;
29+
2430
/** Item's quantity. */
2531
private Integer quantity;
2632

2733
/** Unit price. */
2834
private BigDecimal unitPrice;
35+
36+
/** True if the item has warranty, false if not. */
37+
private boolean warranty;
2938
}

src/main/java/com/mercadopago/resources/payment/PaymentPayer.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import com.mercadopago.resources.common.Identification;
44
import lombok.Getter;
55

6+
import java.time.OffsetDateTime;
7+
import java.util.Date;
8+
69
/** PaymentPayer class. */
710
@Getter
811
public class PaymentPayer {
@@ -26,4 +29,16 @@ public class PaymentPayer {
2629

2730
/** Payer's entity type (only for bank transfers). */
2831
private String entityType;
32+
33+
/** Payer's authentication type. */
34+
private String authenticationType;
35+
36+
/** Indicates if the payer is a prime user. */
37+
private boolean isPrimeUser;
38+
39+
/** Indicates if this is the first purchase online for the payer. */
40+
private boolean isFirstPurchaseOnline;
41+
42+
/** Registration date of the payer. */
43+
private OffsetDateTime registrationDate;
2944
}

src/main/java/com/mercadopago/resources/payment/PaymentRefund.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.mercadopago.resources.payment;
22

3-
import com.mercadopago.net.MPResource;
43
import com.mercadopago.resources.common.Source;
4+
import com.mercadopago.net.MPResource;
55
import java.math.BigDecimal;
66
import java.time.OffsetDateTime;
77
import lombok.Getter;

src/main/java/com/mercadopago/resources/preference/PreferenceItem.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ public class PreferenceItem {
1212
/** Item name. */
1313
private String title;
1414

15+
/** Item type. */
16+
private String type;
17+
1518
/** Long item description. */
1619
private String description;
1720

@@ -27,6 +30,9 @@ public class PreferenceItem {
2730
/** Unit price. */
2831
private BigDecimal unitPrice;
2932

33+
/** True if the item has warranty, false if not. */
34+
private boolean warranty;
35+
3036
/** Currency ID. ISO_4217 code. */
3137
private String currencyId;
3238

0 commit comments

Comments
 (0)