Skip to content

Commit 653cd57

Browse files
Add search payments providers endpoint + statement reference to merchant account (#330)
1 parent a23875c commit 653cd57

38 files changed

+499
-15
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ dependencies {
112112

113113
// Mocking libraries
114114
testImplementation group: 'org.mockito', name: 'mockito-core', version: '5.14.2'
115-
testImplementation group: 'org.wiremock', name: 'wiremock', version: '3.9.2'
115+
testImplementation group: 'org.wiremock', name: 'wiremock', version: '3.10.0'
116116

117117
// Wait test utility
118118
testImplementation group: 'org.awaitility', name: 'awaitility', version: '4.2.2'

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Main properties
22
group=com.truelayer
33
archivesBaseName=truelayer-java
4-
version=16.1.0
4+
version=16.2.0
55

66
# Artifacts properties
77
sonatype_repository_url=https://s01.oss.sonatype.org/service/local/

src/main/java/com/truelayer/java/payments/entities/beneficiary/MerchantAccount.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,6 @@ public class MerchantAccount extends Beneficiary {
1818
private String reference;
1919

2020
private Verification verification;
21+
22+
private String statementReference;
2123
}

src/main/java/com/truelayer/java/paymentsproviders/IPaymentsProvidersApi.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
import com.truelayer.java.entities.RequestScopes;
44
import com.truelayer.java.http.entities.ApiResponse;
55
import com.truelayer.java.paymentsproviders.entities.PaymentsProvider;
6+
import com.truelayer.java.paymentsproviders.entities.searchproviders.SearchPaymentProvidersRequest;
7+
import com.truelayer.java.paymentsproviders.entities.searchproviders.SearchPaymentProvidersResponse;
68
import java.util.concurrent.CompletableFuture;
7-
import retrofit2.http.GET;
8-
import retrofit2.http.Path;
9-
import retrofit2.http.Tag;
9+
import retrofit2.http.*;
1010

1111
/**
1212
* Interface that models /payments-providers/* endpoints
@@ -16,4 +16,8 @@ public interface IPaymentsProvidersApi {
1616
@GET("/payments-providers/{id}")
1717
CompletableFuture<ApiResponse<PaymentsProvider>> getProvider(
1818
@Tag RequestScopes scopes, @Path("id") String providerId);
19+
20+
@POST("/payments-providers/search")
21+
CompletableFuture<ApiResponse<SearchPaymentProvidersResponse>> searchPaymentProviders(
22+
@Tag RequestScopes scopes, @Body SearchPaymentProvidersRequest request);
1923
}

src/main/java/com/truelayer/java/paymentsproviders/IPaymentsProvidersHandler.java

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

33
import com.truelayer.java.http.entities.ApiResponse;
44
import com.truelayer.java.paymentsproviders.entities.PaymentsProvider;
5+
import com.truelayer.java.paymentsproviders.entities.searchproviders.SearchPaymentProvidersRequest;
6+
import com.truelayer.java.paymentsproviders.entities.searchproviders.SearchPaymentProvidersResponse;
57
import java.util.concurrent.CompletableFuture;
68

79
/**
@@ -19,4 +21,14 @@ public interface IPaymentsProvidersHandler {
1921
* @see <a href="https://docs.truelayer.com/reference/get-payment-provider"><i>Get Payment Provider</i> API reference</a>
2022
*/
2123
CompletableFuture<ApiResponse<PaymentsProvider>> getProvider(String providerId);
24+
25+
/**
26+
* Returns a list of payments providers.
27+
*
28+
* @param request the request with filters to search providers
29+
* @return the response of the <i>Search Payments Providers</i> operation
30+
* @see <a href="https://docs.truelayer.com/reference/search-payment-providers"><i>Search Payment Providers</i> API reference</a>
31+
*/
32+
CompletableFuture<ApiResponse<SearchPaymentProvidersResponse>> searchProviders(
33+
SearchPaymentProvidersRequest request);
2234
}

src/main/java/com/truelayer/java/paymentsproviders/PaymentsProvidersHandler.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import com.truelayer.java.entities.RequestScopes;
77
import com.truelayer.java.http.entities.ApiResponse;
88
import com.truelayer.java.paymentsproviders.entities.PaymentsProvider;
9+
import com.truelayer.java.paymentsproviders.entities.searchproviders.SearchPaymentProvidersRequest;
10+
import com.truelayer.java.paymentsproviders.entities.searchproviders.SearchPaymentProvidersResponse;
911
import java.util.concurrent.CompletableFuture;
1012
import lombok.Builder;
1113

@@ -29,4 +31,10 @@ public RequestScopes getRequestScopes() {
2931
public CompletableFuture<ApiResponse<PaymentsProvider>> getProvider(String providerId) {
3032
return paymentsProvidersApi.getProvider(getRequestScopes(), providerId);
3133
}
34+
35+
@Override
36+
public CompletableFuture<ApiResponse<SearchPaymentProvidersResponse>> searchProviders(
37+
SearchPaymentProvidersRequest request) {
38+
return paymentsProvidersApi.searchPaymentProviders(getRequestScopes(), request);
39+
}
3240
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.truelayer.java.paymentsproviders.entities.searchproviders;
2+
3+
import java.util.List;
4+
import lombok.*;
5+
6+
@Builder
7+
@Getter
8+
@ToString
9+
@EqualsAndHashCode
10+
public class AisConsent {
11+
private List<Scope> scopes;
12+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.truelayer.java.paymentsproviders.entities.searchproviders;
2+
3+
import lombok.*;
4+
5+
@Builder
6+
@Getter
7+
@ToString
8+
@EqualsAndHashCode
9+
public class AuthorizationFlow {
10+
private Configuration configuration;
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.truelayer.java.paymentsproviders.entities.searchproviders;
2+
3+
import lombok.Value;
4+
5+
@Value
6+
public class BankTransferCapabilities {}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.truelayer.java.paymentsproviders.entities.searchproviders;
2+
3+
import lombok.Builder;
4+
import lombok.EqualsAndHashCode;
5+
import lombok.Getter;
6+
import lombok.ToString;
7+
8+
@Builder
9+
@Getter
10+
@ToString
11+
@EqualsAndHashCode
12+
public class Capabilities {
13+
PaymentsCapabilities payments;
14+
15+
MandatesCapabilities mandates;
16+
}

0 commit comments

Comments
 (0)