Skip to content

Commit bd1d94e

Browse files
authored
Merge branch 'master' into add-loyalty-to-masterpass-v2
2 parents 74f8dfd + e83e438 commit bd1d94e

57 files changed

Lines changed: 680 additions & 35 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/craftgate-release.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,10 @@ jobs:
2727
- name: Build and Publish with Gradle
2828
run: openssl enc -aes-256-cbc -md sha256 -pass pass:${{secrets.ENC_KEY}} -d -A -in craftgate.gpg.enc -out craftgate.gpg &&
2929
./gradlew clean &&
30-
./gradlew publish -Dorg.gradle.internal.http.socketTimeout=120000 -Dorg.gradle.internal.http.connectionTimeout=120000 -Pversion=${{github.event.release.tag_name}} -PrepoUser=${{secrets.NEXUS_USER}} -PrepoPassword=${{secrets.NEXUS_PASSWORD}} -Psigning.keyId=${{secrets.SIGNING_KEY_ID}} -Psigning.password=${{secrets.SIGNING_PASSWORD}}
30+
./gradlew publish -Dorg.gradle.internal.http.socketTimeout=120000 -Dorg.gradle.internal.http.connectionTimeout=120000 -Pversion=${{github.event.release.tag_name}} -PrepoUser=${{secrets.CP_TOKEN_USERNAME}} -PrepoPassword=${{secrets.CP_TOKEN_PASSWORD}} -Psigning.keyId=${{secrets.SIGNING_KEY_ID}} -Psigning.password=${{secrets.SIGNING_PASSWORD}}
31+
32+
- name: Trigger deployment visibility
33+
run: |
34+
curl -i -X POST https://ossrh-staging-api.central.sonatype.com/manual/upload/defaultRepository/io.craftgate \
35+
-H "Authorization: Bearer $(echo -n "${{secrets.CP_TOKEN_USERNAME}}:${{secrets.CP_TOKEN_PASSWORD}}" | base64)"
36+

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Craftgate Java Client
22

3-
[![Build Status](https://github.com/craftgate/craftgate-java-client/workflows/Craftgate%20Java%20CI/badge.svg?branch=master)](https://github.com/craftgate/craftgate-java-client/actions)
4-
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.craftgate/craftgate/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.craftgate/craftgate)
3+
[![Build Status](https://github.com/craftgate/craftgate-java-client/actions/workflows/craftgate-build.yml/badge.svg?branch=master)](https://github.com/craftgate/craftgate-java-client/actions?query=branch%3Amaster)
4+
[![Maven Central](https://img.shields.io/maven-central/v/io.craftgate/craftgate)](https://central.sonatype.com/artifact/io.craftgate/craftgate)
55
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/craftgate/craftgate-java-client)
66

77
This repo contains the Java client for Craftgate API.
@@ -17,16 +17,16 @@ Apache Maven:
1717
<dependency>
1818
<groupId>io.craftgate</groupId>
1919
<artifactId>craftgate</artifactId>
20-
<version>1.0.71</version>
20+
<version>1.0.77</version>
2121
</dependency>
2222
```
2323
Gradle Groovy DSL
2424
```
25-
implementation 'io.craftgate:craftgate:1.0.71'
25+
implementation 'io.craftgate:craftgate:1.0.77'
2626
```
2727
Gradle Kotlin DSL
2828
```
29-
implementation("io.craftgate:craftgate:1.0.71")
29+
implementation("io.craftgate:craftgate:1.0.77")
3030
```
3131

3232
## Usage

bin/.DS_Store

6 KB
Binary file not shown.

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ publishing {
6464
}
6565
repositories {
6666
maven {
67-
name 'nexus'
68-
url "https://oss.sonatype.org/service/local/staging/deploy/maven2"
67+
name 'ossrh-staging-api'
68+
url "https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/"
6969
credentials {
7070
username project.repoUser
7171
password project.repoPassword

src/main/java/io/craftgate/adapter/BaseAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ private static Map<String, String> createHttpHeaders(Object request, String path
4040
headers.put(API_KEY_HEADER_NAME, options.getApiKey());
4141
headers.put(RANDOM_HEADER_NAME, randomString);
4242
headers.put(AUTH_VERSION_HEADER_NAME, API_VERSION_HEADER_VALUE);
43-
headers.put(CLIENT_VERSION_HEADER_NAME, CLIENT_VERSION_HEADER_VALUE + ":1.0.71");
43+
headers.put(CLIENT_VERSION_HEADER_NAME, CLIENT_VERSION_HEADER_VALUE + ":1.0.77");
4444
headers.put(SIGNATURE_HEADER_NAME, prepareAuthorizationString(request, path, randomString, options));
4545
if (Objects.nonNull(options.getLanguage())) {
4646
headers.put(LANGUAGE_HEADER_NAME, options.getLanguage());

src/main/java/io/craftgate/adapter/FileReportingAdapter.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package io.craftgate.adapter;
22

33
import io.craftgate.net.HttpClient;
4+
import io.craftgate.request.CreateReportRequest;
45
import io.craftgate.request.RetrieveDailyPaymentReportRequest;
56
import io.craftgate.request.RetrieveDailyTransactionReportRequest;
7+
import io.craftgate.request.RetrieveReportRequest;
68
import io.craftgate.request.common.RequestOptions;
79
import io.craftgate.request.common.RequestQueryParamsBuilder;
10+
import io.craftgate.response.ReportDemandResponse;
811

912
import java.util.Map;
1013

@@ -32,4 +35,21 @@ public byte[] retrieveDailyPaymentReport(RetrieveDailyPaymentReportRequest retri
3235
headers.put(CONTENT_TYPE, APPLICATION_OCTET_STREAM);
3336
return HttpClient.get(requestOptions.getBaseUrl() + path, headers, byte[].class);
3437
}
38+
39+
public ReportDemandResponse createReport(CreateReportRequest request) {
40+
String path = "/file-reporting/v1/report-demands";
41+
Map<String, String> headers = createHeaders(request, path, requestOptions);
42+
return HttpClient.post(requestOptions.getBaseUrl() + path,
43+
headers,
44+
request,
45+
ReportDemandResponse.class);
46+
}
47+
48+
public byte[] retrieveReport(RetrieveReportRequest retrieveReportRequest, Long reportId) {
49+
String query = RequestQueryParamsBuilder.buildQueryParam(retrieveReportRequest);
50+
String path = "/file-reporting/v1/reports/" + reportId + query;
51+
Map<String, String> headers = createHeaders(path, requestOptions);
52+
headers.put(CONTENT_TYPE, APPLICATION_OCTET_STREAM);
53+
return HttpClient.get(requestOptions.getBaseUrl() + path, headers, byte[].class);
54+
}
3555
}

src/main/java/io/craftgate/adapter/FraudAdapter.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@
33
import io.craftgate.model.FraudCheckStatus;
44
import io.craftgate.model.FraudValueType;
55
import io.craftgate.net.HttpClient;
6-
import io.craftgate.request.FraudValueListRequest;
7-
import io.craftgate.request.SearchFraudChecksRequest;
8-
import io.craftgate.request.UpdateFraudCheckRequest;
6+
import io.craftgate.request.*;
97
import io.craftgate.request.common.RequestOptions;
108
import io.craftgate.request.common.RequestQueryParamsBuilder;
119
import io.craftgate.response.FraudAllValueListsResponse;
1210
import io.craftgate.response.FraudCheckListResponse;
11+
import io.craftgate.response.FraudRuleListResponse;
1312
import io.craftgate.response.FraudValueListResponse;
1413

1514
public class FraudAdapter extends BaseAdapter {
@@ -58,8 +57,20 @@ public void addValueToValueList(FraudValueListRequest fraudValueListRequest) {
5857
fraudValueListRequest, Void.class);
5958
}
6059

60+
public void addCardFingerprint(AddCardFingerprintFraudValueListRequest request, String listName) {
61+
String path = "/fraud/v1/value-lists/"+ listName + "/card-fingerprints";
62+
HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(request, path, requestOptions),
63+
request, Void.class);
64+
}
65+
6166
public void removeValueFromValueList(String listName, String valueId) {
6267
String path = "/fraud/v1/value-lists/" + listName + "/values/" + valueId;
6368
HttpClient.delete(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions));
6469
}
70+
71+
public FraudRuleListResponse searchRules(SearchFraudRuleRequest searchFraudRuleRequest) {
72+
String query = RequestQueryParamsBuilder.buildQueryParam(searchFraudRuleRequest);
73+
String path = "/fraud/v1/rules" + query;
74+
return HttpClient.get(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions), FraudRuleListResponse.class);
75+
}
6576
}

src/main/java/io/craftgate/adapter/PaymentAdapter.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,17 @@ public InitCheckoutPaymentResponse initCheckoutPayment(InitCheckoutPaymentReques
5050
initCheckoutPaymentRequest, InitCheckoutPaymentResponse.class);
5151
}
5252

53+
public InitCheckoutCardVerifyResponse initCheckoutCardVerify(InitCheckoutCardVerifyRequest initCheckoutCardVerifyRequest) {
54+
String path = "/payment/v1/checkout-card-verify/init";
55+
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(initCheckoutCardVerifyRequest, path, requestOptions),
56+
initCheckoutCardVerifyRequest, InitCheckoutCardVerifyResponse.class);
57+
}
58+
59+
public RetrieveCheckoutCardVerifyResponse retrieveCheckoutCardVerify(String token) {
60+
String path = "/payment/v1/checkout-card-verify/" + token;
61+
return HttpClient.get(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions), RetrieveCheckoutCardVerifyResponse.class);
62+
}
63+
5364
public PaymentResponse retrieveCheckoutPayment(String token) {
5465
String path = "/payment/v1/checkout-payments/" + token;
5566
return HttpClient.get(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions), PaymentResponse.class);
@@ -160,6 +171,12 @@ public PaymentRefundResponse refundPayment(RefundPaymentRequest refundPaymentReq
160171
refundPaymentRequest, PaymentRefundResponse.class);
161172
}
162173

174+
public RefundWaitingPaymentResponse refundWaitingPayment(RefundWaitingPaymentRequest refundWaitingPaymentRequest) {
175+
String path = "/payment/v1/refunds/refund-waiting-payment";
176+
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(refundWaitingPaymentRequest, path, requestOptions),
177+
refundWaitingPaymentRequest, RefundWaitingPaymentResponse.class);
178+
}
179+
163180
public PaymentRefundResponse retrievePaymentRefund(Long id) {
164181
String path = "/payment/v1/refunds/" + id;
165182
return HttpClient.get(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions), PaymentRefundResponse.class);
@@ -195,6 +212,12 @@ public void deleteStoredCard(DeleteStoredCardRequest deleteStoredCardRequest) {
195212
deleteStoredCardRequest, Void.class);
196213
}
197214

215+
public VerifyCardResponse verifyCard(VerifyCardRequest verifyCardRequest) {
216+
String path = "/payment/v1/cards/verify";
217+
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(verifyCardRequest, path, requestOptions),
218+
verifyCardRequest, VerifyCardResponse.class);
219+
}
220+
198221
public PaymentTransactionApprovalListResponse approvePaymentTransactions(ApprovePaymentTransactionsRequest approvePaymentTransactionsRequest) {
199222
String path = "/payment/v1/payment-transactions/approve";
200223
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(approvePaymentTransactionsRequest, path, requestOptions),
@@ -247,6 +270,12 @@ public InstantTransferBanksResponse retrieveActiveBanks() {
247270
InstantTransferBanksResponse.class);
248271
}
249272

273+
public InitMultiPaymentResponse initMultiPayment(InitMultiPaymentRequest initMultiPaymentRequest) {
274+
String path = "/payment/v1/multi-payments/init";
275+
return HttpClient.post(requestOptions.getBaseUrl() + path, createHeaders(initMultiPaymentRequest, path, requestOptions),
276+
initMultiPaymentRequest, InitMultiPaymentResponse.class);
277+
}
278+
250279
public MultiPaymentResponse retrieveMultiPayment(String token) {
251280
String path = "/payment/v1/multi-payments/" + token;
252281
return HttpClient.get(requestOptions.getBaseUrl() + path, createHeaders(path, requestOptions), MultiPaymentResponse.class);
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package io.craftgate.model;
2+
3+
public enum CardVerificationAuthType {
4+
5+
NON_THREE_DS,
6+
THREE_DS,
7+
NONE
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package io.craftgate.model;
2+
3+
public enum CardVerifyStatus {
4+
5+
SUCCESS,
6+
FAILURE,
7+
THREE_DS_PENDING
8+
}

0 commit comments

Comments
 (0)