Skip to content

Commit

Permalink
Merge branch 'master' into feature/bin_metadata_endpoint
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/main/resources/com/mangopay/core/mangopay.properties
  • Loading branch information
iulian03 committed Feb 6, 2024
2 parents d9d56bc + aae20cc commit 8346ab7
Show file tree
Hide file tree
Showing 10 changed files with 117 additions and 36 deletions.
24 changes: 12 additions & 12 deletions src/main/java/com/mangopay/MangoPayApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -312,95 +312,95 @@ public CardPreAuthorizationApi getCardPreAuthorizationApi() {
return cardPreAuthorizations;
}

private void setCardPreAuthorizationApi(CardPreAuthorizationApi cardPreAuthorizations) {
public void setCardPreAuthorizationApi(CardPreAuthorizationApi cardPreAuthorizations) {
this.cardPreAuthorizations = cardPreAuthorizations;
}

public CardApi getCardApi() {
return cards;
}

private void setCardApi(CardApi cards) {
public void setCardApi(CardApi cards) {
this.cards = cards;
}

public RefundApi getRefundApi() {
return refunds;
}

private void setRefundApi(RefundApi refunds) {
public void setRefundApi(RefundApi refunds) {
this.refunds = refunds;
}

public EventApi getEventApi() {
return events;
}

private void setEventApi(EventApi events) {
public void setEventApi(EventApi events) {
this.events = events;
}

public HookApi getHookApi() {
return hooks;
}

private void setHookApi(HookApi hooks) {
public void setHookApi(HookApi hooks) {
this.hooks = hooks;
}

public KycDocumentApi getKycDocumentApi() {
return kycDocuments;
}

private void setKycDocumentApi(KycDocumentApi kycDocuments) {
public void setKycDocumentApi(KycDocumentApi kycDocuments) {
this.kycDocuments = kycDocuments;
}

public DisputeApi getDisputeApi() {
return disputes;
}

private void setDisputeApi(DisputeApi disputes) {
public void setDisputeApi(DisputeApi disputes) {
this.disputes = disputes;
}

public IdempotencyApi getIdempotencyApi() {
return idempotency;
}

private void setIdempotencyApi(IdempotencyApi idempotency) {
public void setIdempotencyApi(IdempotencyApi idempotency) {
this.idempotency = idempotency;
}

public MandateApi getMandateApi() {
return mandates;
}

private void setMandateApi(MandateApi mandates) {
public void setMandateApi(MandateApi mandates) {
this.mandates = mandates;
}

public ReportApi getReportApi() {
return reports;
}

private void setReportApi(ReportApi reports) {
public void setReportApi(ReportApi reports) {
this.reports = reports;
}

public BankingAliasApi getBankingAliases() {
return bankingAliases;
}

private void setBankingAliasApi(BankingAliasApi bankingAliases) {
public void setBankingAliasApi(BankingAliasApi bankingAliases) {
this.bankingAliases = bankingAliases;
}

public UboDeclarationApi getUboDeclarationApi() {
return uboDeclarations;
}

private void setUboDeclarationApi(UboDeclarationApi uboDeclarations) {
public void setUboDeclarationApi(UboDeclarationApi uboDeclarations) {
this.uboDeclarations = uboDeclarations;
}

Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/mangopay/core/APIs/ApiBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ protected MangoPayApi getRoot() {
put("cards_get_transactions", new String[]{"/cards/%s/transactions", RequestType.GET.toString()});
put("card_get_preauthorization", new String[]{"/cards/%s/preauthorizations", RequestType.GET.toString()});
put("card_validate", new String[]{"/cards/%s/validation", RequestType.POST.toString()});
put("get_card_validation", new String[]{"/cards/%s/validation/%s", RequestType.GET.toString()});

// pay ins URLs
put("payins_paypal-web_create", new String[]{"/payins/paypal/web/", RequestType.POST.toString()});
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/com/mangopay/core/APIs/CardApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,12 @@ public interface CardApi {
* @throws Exception
*/
CardValidation validate(String cardId, CardValidation cardValidation) throws Exception;

/**
* Get card validation
* @param cardId, cardValidationId
* @return CardValidation
* @throws Exception
*/
CardValidation get_card_validation(String cardId, String cardValidationId) throws Exception;
}
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,19 @@ public List<Transaction> getTransactions(String cardId) throws Exception {
public List<Transaction> getTransactions(String cardId, Pagination pagination, Sorting sorting) throws Exception {
return this.getList(Transaction[].class, Transaction.class, "cards_get_transactions", pagination, cardId, sorting);
}

@Override
public List<CardPreAuthorization> getCardPreAuthorizations(String cardId) throws Exception {
return this.getList(CardPreAuthorization[].class, CardPreAuthorization.class, "card_get_preauthorization",null,cardId);
return this.getList(CardPreAuthorization[].class, CardPreAuthorization.class, "card_get_preauthorization", null, cardId);
}

@Override
public CardValidation validate(String cardId, CardValidation cardValidation) throws Exception {
return this.createObject(CardValidation.class, null ,"card_validate", cardValidation, cardId);
return this.createObject(CardValidation.class, null, "card_validate", cardValidation, cardId);
}

public CardValidation get_card_validation(String cardId, String cardValidationId) throws Exception {
return this.getObject(CardValidation.class, "get_card_validation", cardId, cardValidationId);
}


Expand Down
44 changes: 44 additions & 0 deletions src/main/java/com/mangopay/entities/CardValidation.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,26 @@ public class CardValidation extends EntityBase {
@SerializedName("ResultMessage")
private String resultMessage;

/**
* Allowed values: VISA, MASTERCARD, CB, MAESTRO
*
* The card network to use, as chosen by the cardholder, in case of co-branded card products.
*/
@SerializedName("PreferredCardNetwork")
private String preferredCardNetwork;

/**
* The date and time at which successful authorization occurred. If authorization failed, the value is null.
*/
@SerializedName("AuthorizationDate")
private Long authorizationDate;

/**
* Information of the card
*/
@SerializedName("CardInfo")
private CardInfo cardInfo;

public String getAuthorId() {
return authorId;
}
Expand Down Expand Up @@ -109,6 +129,30 @@ public void setResultMessage(String resultMessage) {
this.resultMessage = resultMessage;
}

public String getPreferredCardNetwork() {
return preferredCardNetwork;
}

public void setPreferredCardNetwork(String preferredCardNetwork) {
this.preferredCardNetwork = preferredCardNetwork;
}

public Long getAuthorizationDate() {
return authorizationDate;
}

public void setAuthorizationDate(Long authorizationDate) {
this.authorizationDate = authorizationDate;
}

public CardInfo getCardInfo() {
return cardInfo;
}

public void setCardInfo(CardInfo cardInfo) {
this.cardInfo = cardInfo;
}

public BrowserInfo getBrowserInfo() {
return browserInfo;
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/com/mangopay/core/mangopay.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
#Mon Jan 29 22:37:41 EET 2024
#Thu Jan 25 22:05:17 EET 2024
version=2.34.0
45 changes: 28 additions & 17 deletions src/test/java/com/mangopay/core/BaseTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ protected Map<String, String> getJohnsWalletWithMoney3DSecure(int amount) throws
cardRegistration.setCurrency(CurrencyIso.EUR);
cardRegistration = this.api.getCardRegistrationApi().create(cardRegistration);

cardRegistration.setRegistrationData(this.getPaylineCorrectRegistartionData3DSecure(cardRegistration));
cardRegistration.setRegistrationData(this.getPaylineCorrectRegistartionData(cardRegistration));
cardRegistration = this.api.getCardRegistrationApi().update(cardRegistration);

Card card = this.api.getCardApi().get(cardRegistration.getCardId());
Expand Down Expand Up @@ -1133,7 +1133,7 @@ protected CardRegistration getDepositCardRegistration() throws Exception {
cardRegistration.setCurrency(CurrencyIso.EUR);
CardRegistration newCardRegistration = this.api.getCardRegistrationApi().create(cardRegistration);

String registrationData = this.getPaylineCorrectRegistartionDataForDeposit(newCardRegistration);
String registrationData = this.getPaylineCorrectRegistartionData(newCardRegistration);
newCardRegistration.setRegistrationData(registrationData);
return this.api.getCardRegistrationApi().update(newCardRegistration);
}
Expand Down Expand Up @@ -1179,7 +1179,7 @@ protected CardPreAuthorization getPreAuthorization() throws Exception {
return cardPreAuthorization;
}

protected CardValidation getJohnsCardValidation() throws Exception {
protected CardValidation createJohnsCardValidation() throws Exception {

UserNatural user = this.getJohn();
CardRegistration cardRegistration = new CardRegistration();
Expand All @@ -1202,6 +1202,30 @@ protected CardValidation getJohnsCardValidation() throws Exception {
return this.api.getCardApi().validate(cardRegistration.getCardId(), cardValidation);
}

protected CardValidation getJohnsCardValidation() throws Exception {

UserNatural user = this.getJohn();
CardRegistration cardRegistration = new CardRegistration();
cardRegistration.setUserId(user.getId());
cardRegistration.setCurrency(CurrencyIso.EUR);
CardRegistration newCardRegistration = this.api.getCardRegistrationApi().create(cardRegistration);

String registrationData = this.getPaylineCorrectRegistartionData(newCardRegistration);
newCardRegistration.setRegistrationData(registrationData);
cardRegistration = this.api.getCardRegistrationApi().update(newCardRegistration);

CardValidation cardValidation = new CardValidation();

cardValidation.setAuthorId(user.getId());
cardValidation.setSecureModeReturnUrl("http://test.com");

cardValidation.setBrowserInfo(getNewBrowserInfo());
cardValidation.setIpAddress("2001:0620:0000:0000:0211:24FF:FE80:C12C");

CardValidation cardValidationResponse = this.api.getCardApi().validate(cardRegistration.getCardId(), cardValidation);
return this.api.getCardApi().get_card_validation(cardRegistration.getCardId(), cardValidationResponse.getId());
}

protected KycDocument getJohnsKycDocument() throws Exception {
if (BaseTest.JOHNS_KYC_DOCUMENT == null) {
String johnsId = this.getJohn().getId();
Expand All @@ -1218,19 +1242,6 @@ protected KycDocument getNewKycDocument() throws Exception {
return getJohnsKycDocument();
}

/**
* Gets registration data from Payline service 3DSecure.
*
* @param cardRegistration
* @return Registration data.
*/
protected String getPaylineCorrectRegistartionData3DSecure(CardRegistration cardRegistration) throws MalformedURLException, IOException, Exception {
return getPaylineCorrectRegistartionData3DSecureForCardNumber(cardRegistration, "4970105191923460");
}

protected String getPaylineCorrectRegistartionDataForDeposit(CardRegistration cardRegistration) throws MalformedURLException, IOException, Exception {
return getPaylineCorrectRegistartionData3DSecureForCardNumber(cardRegistration, "4970105181818183");
}

protected String getPaylineCorrectRegistartionData3DSecureForCardNumber(CardRegistration cardRegistration, String cardNumber) throws MalformedURLException, IOException, Exception {

Expand Down Expand Up @@ -1284,7 +1295,7 @@ protected String getPaylineCorrectRegistartionData3DSecureForCardNumber(CardRegi
* @return Registration data.
*/
protected String getPaylineCorrectRegistartionData(CardRegistration cardRegistration) throws MalformedURLException, IOException, Exception {
return getPaylineCorrectRegistartionData3DSecureForCardNumber(cardRegistration, "4970105191923460");
return getPaylineCorrectRegistartionData3DSecureForCardNumber(cardRegistration, "4970107111111119");
}

protected Hook getJohnsHook() throws Exception {
Expand Down
11 changes: 9 additions & 2 deletions src/test/java/com/mangopay/core/CardApiImplTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,16 @@ public void getCardPreAuthorizations() throws Exception {

@Test
public void validateCard() throws Exception{
CardApi cardApi = api.getCardApi();

//create card validation
CardValidation cardValidation = createJohnsCardValidation();

assertNotNull(cardValidation);
assertNotNull(cardValidation.getId());
assertEquals(TransactionType.CARD_VALIDATION, cardValidation.getType());
}

@Test
public void getCardValidation() throws Exception{
CardValidation cardValidation = getJohnsCardValidation();

assertNotNull(cardValidation);
Expand Down
4 changes: 3 additions & 1 deletion src/test/java/com/mangopay/core/PayInApiImplTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,9 @@ public void createPreAuthorizedDirect() {

PayIn createPayIn = this.api.getPayInApi().create(payIn);

// wait 2 seconds for the transactions to be created in the API
Thread.sleep(2000);

List<Transaction> preAuthTransactions = this.api.getCardPreAuthorizationApi().getTransactions(cardPreAuthorization.getId(), new Pagination(1, 1));

assertTrue(!"".equals(createPayIn.getId()));
Expand Down Expand Up @@ -483,7 +486,6 @@ public void createDirectDebitWeb() {
assertTrue(createPayIn.getFees().getCurrency() == CurrencyIso.EUR);
assertNotNull(((PayInExecutionDetailsWeb) createPayIn.getExecutionDetails()).getReturnUrl());
assertNotNull(((PayInExecutionDetailsWeb) createPayIn.getExecutionDetails()).getRedirectUrl());
assertNotNull(((PayInExecutionDetailsWeb) createPayIn.getExecutionDetails()).getTemplateUrl());

} catch (Exception ex) {
fail(ex.getMessage());
Expand Down
4 changes: 4 additions & 0 deletions src/test/java/com/mangopay/core/WalletApiImplTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@ public void getWalletTransactions() throws Exception {
Pagination pagination = new Pagination(1, 1);
FilterTransactions filter = new FilterTransactions();
filter.setType(TransactionType.PAYIN);

// wait 2 seconds for the transactions to be created in the API
Thread.sleep(2);

List<Transaction> transactions = this.api.getWalletApi().getTransactions(wallet.getId(), pagination, filter);

assertTrue(transactions.size() == 1);
Expand Down

0 comments on commit 8346ab7

Please sign in to comment.