Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ jobs:
- name: Build project with Maven
run: mvn -B package --file pom.xml

- name: Publish to Apache Maven Central
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
run: GPG_TTY=$(tty); mvn -s .github/workflows/maven-release-setting.xml clean deploy -DdeployAtEnd=true -DperformRelease=true -DskipTests -Dspotbugs.skip=true
env:
SERVER_OSSRH_USERNAME: ${{ secrets.SERVER_OSSRH_USERNAME }}
SERVER_OSSRH_PASSWORD: ${{ secrets.SERVER_OSSRH_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
# - name: Publish to Apache Maven Central
# if: github.event_name == 'push' && github.ref == 'refs/heads/master'
# run: GPG_TTY=$(tty); mvn -s .github/workflows/maven-release-setting.xml clean deploy -DdeployAtEnd=true -DperformRelease=true -DskipTests -Dspotbugs.skip=true
# env:
# SERVER_OSSRH_USERNAME: ${{ secrets.SERVER_OSSRH_USERNAME }}
# SERVER_OSSRH_PASSWORD: ${{ secrets.SERVER_OSSRH_PASSWORD }}
# GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@
import java.text.SimpleDateFormat;
import java.util.*;

import com.riskified.Environment;
import com.riskified.*;
import com.riskified.validations.Validation;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpResponseException;

import com.riskified.RiskifiedError;
//import com.riskified.TransStatus;
import com.riskified._type;
import com.riskified.RiskifiedClient;
import com.riskified.models.*;
import com.riskified.validations.FieldBadFormatException;

Expand All @@ -26,6 +24,8 @@ public static void main(String[] arg) throws FieldBadFormatException, ParseExcep

Order order = generateOrder();

Order decideOrder = decideOrder();

Order updateOrder = generateUpdateOrder(order);

CheckoutOrder screenOrder = generateScreenOrder();
Expand All @@ -39,49 +39,88 @@ public static void main(String[] arg) throws FieldBadFormatException, ParseExcep
DecisionOrder decisionOrder = generateDecisionOrder(order);

ArrayOrders orders = generateHistoricalOrders(order);
ChargebackOrder chargebackOrder = generateChargebackOrder();

try {
// Riskified client parameters can be set in the constructor, like this:
// RiskifiedClient client = new RiskifiedClient("<shop_url>", "<auth_token>", Environment.SANDBOX);
// Or according 'riskified_sdk.properties' configuration file, like this:
RiskifiedClient client = new RiskifiedClient();
/*
Response resAdviseOrder = client.adviseOrder(adviseOrder);

System.out.println("Advise order response:");
System.out.println("id: " + resAdviseOrder.getOrder().getId());
System.out.println("status: " + resAdviseOrder.getOrder().getStatus());
System.out.println("advise response rec " + resAdviseOrder.getOrder().getAdvice().getRecommendation());
System.out.println("advise response scope " + resAdviseOrder.getOrder().getAdvice().getRegulatoryScope());


System.out.println("-----------------------------------------");

*/
Response resCheckoutOrder = client.checkoutOrder(checkoutOrder);

System.out.println("Checkout create order response:");
System.out.println("id: " + resCheckoutOrder.getOrder().getId());
System.out.println("status: " + resCheckoutOrder.getOrder().getStatus());
System.out.println("description: " + resCheckoutOrder.getOrder().getDescription());

// Response resAdviseOrder = client.adviseOrder(adviseOrder);
//
// System.out.println("Advise order response:");
// System.out.println("id: " + resAdviseOrder.getOrder().getId());
// System.out.println("status: " + resAdviseOrder.getOrder().getStatus());
// if (resAdviseOrder.getOrder().getAdvice() != null) {
// for(Recommendation recs: resAdviseOrder.getOrder().getAdvice().getRecommendation()){
// System.out.println("rec type: " + recs.getType());
// System.out.println( "recommended: " + recs.getRecommendation());
// }
//
// }

Response resCheckoutDeniedOrder = client.checkoutDeniedOrder(checkoutDeniedOrder);

System.out.println("-----------------------------------------");
System.out.println("Checkout denied order response:");
System.out.println("id: " + resCheckoutDeniedOrder.getOrder().getId());
System.out.println("status: " + resCheckoutDeniedOrder.getOrder().getStatus());
System.out.println("description: " + resCheckoutDeniedOrder.getOrder().getDescription());


// Response resCheckoutOrder = client.checkoutOrder(checkoutOrder);
//
// System.out.println("Checkout create order response:");
// System.out.println("id: " + resCheckoutOrder.getOrder().getId());
// System.out.println("status: " + resCheckoutOrder.getOrder().getStatus());
// System.out.println("description: " + resCheckoutOrder.getOrder().getDescription());
//
//
// Response resCheckoutDeniedOrder = client.checkoutDeniedOrder(checkoutDeniedOrder);
//
// System.out.println("-----------------------------------------");
// System.out.println("Checkout denied order response:");
// System.out.println("id: " + resCheckoutDeniedOrder.getOrder().getId());
// System.out.println("status: " + resCheckoutDeniedOrder.getOrder().getStatus());
// System.out.println("description: " + resCheckoutDeniedOrder.getOrder().getDescription());

//
Response resCreateOrder = client.createOrder(order);

System.out.println("-----------------------------------------");
System.out.println("Create order response:");
System.out.println("id: " + resCreateOrder.getOrder().getId());
System.out.println("status: " + resCreateOrder.getOrder().getStatus());
System.out.println("description: " + resCreateOrder.getOrder().getDescription());
System.out.println("risk score: " + resCreateOrder.getOrder().getRiskScore());

// Response resChargebackOrder = client.chargebackOrder(chargebackOrder);
//
// System.out.println("-----------------------------------------");
// System.out.println("Chargeback order response:");
// System.out.println("id: " + resChargebackOrder.getOrder().getId());
// System.out.println("status: " + resChargebackOrder.getOrder().getStatus());
// System.out.println("description: " + resChargebackOrder.getOrder().getDescription());
// //System.out.println("risk score: " + resChargebackOrder.getOrder().getRiskScore());

// Response resDecision = client.decisionOrder(decisionOrder);
//
// System.out.println("-----------------------------------------");
// System.out.println("Decision order response:");
// System.out.println("id: " + resDecision.getOrder().getId());
// System.out.println("status: " + resDecision.getOrder().getStatus());
// System.out.println("description: " + resDecision.getOrder().getDescription());
// //System.out.println("risk score: " + resDecision.getOrder().getRiskScore());
// Response response = client.analyzeOrder(order);
// System.out.println("-----------------------------------------");
// System.out.println("Create order response:");
// System.out.println("id: " + response.getOrder().getId());
// System.out.println("status: " + response.getOrder().getStatus());
// System.out.println("description: " + response.getOrder().getDescription());
// System.out.println("category: " + response.getOrder().getCategory());
// System.out.println("risk score: " + response.getOrder().getRiskScore());
// if (response.getOrder().getAdvice() != null) {
// for(Recommendation recs: response.getOrder().getAdvice().getRecommendation()){
// System.out.println("rec type: " + recs.getType() + "is recommended: " + recs.getIsRecommended());
// }
//
// }

/*
Response resScreenOrder = client.screenOrder(screenOrder);

Expand Down Expand Up @@ -152,6 +191,41 @@ public static void main(String[] arg) throws FieldBadFormatException, ParseExcep
}


}

private static Order decideOrder() throws ParseException {
Order order = new Order();
order.setId("Test_LT2500118405");
order.setName("null null");
order.setCartToken("5cbbdfa359d38b9d250f7a7c943c7935fab8e28d24b7b1fccd0eabf553f702ac");
order.setCreatedAt(parseDate("02-11-2025 00:00:00.0"));
order.setCurrency("JPY");
order.setUpdatedAt(parseDate("01-23-2025 00:00:00.0"));
order.setGateway("gmopg_cc");
order.setBrowserIp("113.32.8.18");
order.setTotalPrice(6600);
order.setSource("web");
order.setEmail("test@test.com");



LineItem lineItem = new LineItem(6000, 1, "セーター sweater", "3913470");
lineItem.setColor("black");
lineItem.setRequiresShipping(true);
lineItem.setProperties(null);
lineItem.setTaxLines(null);
lineItem.setBrand("Theory luxe");
lineItem.setProductType("physical");
lineItem.setDeliveredTo("shipping_address");


order.setDiscountCodes(Arrays.asList(new DiscountCode(0, "")));

order.setPaymentDetails(Arrays.asList(new CreditCardPaymentDetails("1233434", "", "", "410000******0100", "VISA") ));
Customer customer = new Customer("test@test.com", "太郎", "佐藤", "1", parseDate("02-11-2025 00:00:00.0"), true, 2);
order.setCustomer(customer);
return order;

}

private static void printError(Exception e) {
Expand Down Expand Up @@ -307,7 +381,7 @@ private static CheckoutOrder generateAdviseOrder() throws ParseException {
order.setShippingLines(Arrays.asList(new ShippingLine(123, "free")));

CreditCardPaymentDetails creditCardPaymentDetails = new CreditCardPaymentDetails("370002", "y", "n", "xxxx-xxxx-xxxx-1234", "VISA");
creditCardPaymentDetails.setType(_type.credit_card);
//creditCardPaymentDetails.setType(_type.credit_card);
creditCardPaymentDetails.setAcquirerBin("232323");
creditCardPaymentDetails.setGateway("goGateway");
creditCardPaymentDetails.setMid("212212121");
Expand All @@ -334,16 +408,47 @@ private static CheckoutOrder generateAdviseOrder() throws ParseException {
return order;
}

private static ChargebackOrder generateChargebackOrder() throws ParseException {
ChargebackOrder order = new ChargebackOrder();
order.setId("#120000000003459");
ChargebackDetails cd = new ChargebackDetails();
cd.setId("99992328889900");
cd.setChargebackAt(parseDate("03-13-2025 00:00:00.0"));
cd.setChargebackCurrency("USD");
cd.setChargebackAmount(123.23);
cd.setReasonCode("ACME Widget");
cd.setType("cb");
cd.setReasonCode("ACME Spring");
cd.setGateway("VNTV");
cd.setMid("72395");
cd.setArn("2514514541324134");
cd.setCreditCardCompany("M/C");
//cd.setRespondBy(parseDate("03-14-2025 00:00:00.0"));
cd.setCardholder("M/C");
cd.setMessage("someMessagee");
order.setChargebackDetails(cd);

//order.setFulfillment(null);
DisputeDetails disputeDetails = new DisputeDetails();
//disputeDetails.setDisputeType("Fraud");
//disputeDetails.setDisputeType("dispute Type");
//order.setDisputeDetails(disputeDetails);
//System.out.println(order.getDisputeDetails());

return order;

}


private static Order generateOrder() throws ParseException {
Order order = new Order();
order.setId("#120000000003451");
order.setId("#120000000003460");
order.setName("#12345");
order.setEmail("great.customer@example.com");
order.setCreatedAt(parseDate("15-12-2016 00:00:00.0"));
order.setClosedAt(parseDate("15-12-2016 00:00:00.0"));
order.setCreatedAt(parseDate("28-03-2025 00:00:00.0"));
order.setClosedAt(parseDate("28-03-2025 00:00:00.0"));
order.setCurrency("CAD");
order.setUpdatedAt(parseDate("15-12-2016 00:00:00.0"));
order.setUpdatedAt(parseDate("11-03-2025 00:00:00.0"));
order.setGateway("mypaymentprocessor");
order.setBrowserIp("124.185.86.55");
order.setTotalPrice(120.22);
Expand All @@ -361,6 +466,11 @@ private static Order generateOrder() throws ParseException {

LineItem lineItem = new LineItem(200, 4, "ACME Spring", "AAA2");
lineItem.setColor("black");
Recipient recipient = new Recipient();
//recipient.setRoutingNumber("CNRB008304");
//recipient.setAccountNumber("786868768");
recipient.setEmail("regularLineItem@risky.com");
//lineItem.setRecipient(recipient);

TravelLineItem travelLineItem = new TravelLineItem(340, 1, "Flight from Israel to France", "211", "B11", 1, 1);
travelLineItem.setDeparturePortCode("LLBG");
Expand All @@ -375,20 +485,37 @@ private static Order generateOrder() throws ParseException {
travelLineItem.setCarrierCode("AF");
travelLineItem.setCarrierName("Air France");
travelLineItem.setRequiresShipping(false);


Recipient recipientTravel = new Recipient();
//recipientTravel.setRoutingNumber("CNRB008304");
//recipientTravel.setAccountNumber("786868768");
recipientTravel.setEmail("travelLineItem@risky.com");
//travelLineItem.setRecipient(recipientTravel);

Recipient digitalRecipient = new Recipient();
//digitalRecipient.setRoutingNumber("abc123");
//digitalRecipient.setAccountNumber("18006868768");
digitalRecipient.setEmail("DigitalLineItem2@risky.com");

//DigitalLineItem digitalLineItem = new DigitalLineItem(12.00, 1, "soap");
//digitalLineItem.setRecipient(digitalRecipient);
//System.out.println(digitalLineItem.getRecipient().getRoutingNumber());
order.setShippingLines(Arrays.asList(new ShippingLine(123, "free")));
CreditCardPaymentDetails cr = new CreditCardPaymentDetails("370010", "y", "n", "xxxx-xxxx-xxxx-1234", "VISA");
cr.setInstallmentMonths(6);
cr.setPaymentPlan("at&t");
//cr.setExpiryMonth(12);
//cr.setExpiryYear(2027);

/*

AuthenticationResult authResults = new AuthenticationResult("1");
authResults.setTranStatus(TransStatus.A);
authResults.set3DChallenge(true);
authResults.setTransStatus(TransStatus.A);
authResults.set3DChallenge(true);
authResults.setTRAExemption(true);

authResults.setTransStatusReason(TransStatusReason.Eighteen);

cr.setAuthenticationResult(authResults);
*/

order.setPaymentDetails(Arrays.asList( cr ));


Expand Down Expand Up @@ -418,7 +545,7 @@ private static Order generateOrder() throws ParseException {



order.setPaymentDetails(Arrays.asList(new CreditCardPaymentDetails("370002", "y", "n", "xxxx-xxxx-xxxx-1234", "VISA") ));
order.setPaymentDetails(Arrays.asList(new CreditCardPaymentDetails("370002", "y", "n", "xxxx-xxxx-xxxx-1234", "VISA"), cr ));

Address address = new Address("John", "Doe", "108 Main Street", "NYC", "1234567", "United States");
address.setCompany("Kansas Computers");
Expand Down
2 changes: 1 addition & 1 deletion riskified-sdk/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.riskified</groupId>
<artifactId>riskified-sdk</artifactId>
<version>v2.15.0</version>
<version>v3.0.0</version>
<name>Riskified SDK</name>
<description>Riskified rest api SDK for java</description>
<url>https://www.riskified.com</url>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1064,6 +1064,7 @@ private void addDataToRequest(Object data, HttpPost postRequest) throws IllegalS
byte[] body = jsonData.getBytes("UTF-8");
String hmac = sha256Handler.createSHA256(body);
postRequest.setHeader("X-RISKIFIED-HMAC-SHA256", hmac);
postRequest.setHeader("API-VERSION", "2");
ByteArrayEntity input;
input = new ByteArrayEntity(body, ContentType.APPLICATION_JSON);
postRequest.setEntity(input);
Expand All @@ -1074,7 +1075,7 @@ private HttpPost createPostRequest(String url) {
postRequest.setHeader(HttpHeaders.ACCEPT, "application/vnd.riskified.com; version=2");
postRequest.setHeader(HttpHeaders.ACCEPT, "application/json");
postRequest.setHeader("X-RISKIFIED-SHOP-DOMAIN", shopUrl);
postRequest.setHeader("User-Agent","riskified_java_sdk/2.15.0"); // TODO: take the version automatically
postRequest.setHeader("User-Agent","riskified_java_sdk/3.0.0"); // TODO: take the version automatically
postRequest.setHeader("Version",versionHeaderValue);
return postRequest;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.riskified;

public enum TranStatusReason {
public enum TransStatusReason {
Zero_One("01"),
Zero_TWO("02"),
Zero_Three("03"),
Expand Down Expand Up @@ -33,14 +33,14 @@ public enum TranStatusReason {



private final String tranStatusReason;
private final String transStatusReason;

TranStatusReason(String tranStatusReason) {
this.tranStatusReason = tranStatusReason;
TransStatusReason(String transStatusReason) {
this.transStatusReason = transStatusReason;
}

public String getValue() {
return tranStatusReason;
return transStatusReason;
}

}
Loading
Loading