The purpose of this java-sdk project is to support merchants use Realid HTML5 Verification Service.
For more infomation about our company, please visit: Realid Website , and the product API, please visit: Realid HTML5 Verification API
<dependency>
<groupId>global.realid</groupId>
<artifactId>realid-sdk-verification-h5</artifactId>
<version>1.0</version>
</dependency>
compile group: 'global.realid', name: 'realid-sdk-verification-h5', version: '1.0'
// The unique identity assigned by REAL ID to each merchant.
public String MCH_NO = "TEST001";
// The unique key assigned by REAL ID to each merchant.
public String SECRET_KEY = "TESTKEY001";
// default BASE_URL : https://api.realid.global/sdk/
RealidClient client = new RealidClient(MCH_NO,SECRET_KEY);
CreateOrderRequest model = new CreateOrderRequest();
model.setNotifyURL(null);
model.setReturnURL(null);
model.setVerificationType("1");
model.setMchOrderId(RealidUtils.randomString());
model.setExpireDay(1);
RealidResponse<CreateOrderResult> response = client.request(model);
if(response.getResponse().getCode() == 0) {
CreateOrderResult result = response.getResponse().getResult();
System.out.println(JSON.toJSONString(result));
}else {
System.out.println("error");
}
CreateNativeOrderRequest model = new CreateNativeOrderRequest();
model.setNotifyURL(null);
model.setVerificationType("1");
model.setMchOrderId(RealidUtils.randomString());
model.setExpireDay(1);
RealidResponse<CreateNativeOrderResult> response = client.request(model);
if(response.getResponse().getCode() == 0) {
CreateNativeOrderResult result = response.getResponse().getResult();
System.out.println(JSON.toJSONString(result));
}else {
System.out.println("error");
}
User open the HTML5 verification URL in browser and enter the verification flow.if merchant need to redirect own page after completing the submission, the merchant should send the parameter“returnURL”in the Create Verification Order step, otherwise no redirection would happen
public void verifySignature() throws RealidException {
NotificationRequestModel model = this.getNotificationModel();
RealidClient client = new RealidClient(MCH_NO,SECRET_KEY);
String calculateSign = client.generateSignature(model);
System.out.println(calculateSign.equals(model.getSign()));
}
/**
* Suppose this is the json object returned by realid
*/
private NotificationRequestModel getNotificationModel() {
String json = "{\"idType\":1,\"facialSnapshot\":\"xxx\",\"idImage1\":\"xxx\",\"idImage2\":null,\"mchNo\":\"TEST001\",\"mchOrderId\":\"1fba9dfe8c804fd9b1b98f24564cc039\",\"orderId\":\"0771F9B7B9C94B3A983ADF890066A185\",\"sign\":\"fbad7c814d2b94eb6387d9506eb46776df7715ca28c1e2af293cc8e4b7b72330\",\"signType\":\"HmacSHA256\",\"timestamp\":\"1551669012023\",\"verificationScore\":\"0.92\"}";
return JSON.parseObject(json, NotificationRequestModel.class);
}
QueryVerificationDataRequest data = new QueryVerificationDataRequest();
data.setOrderId("D945F9E12350432B9CCE1997F06697CA");
RealidResponse<QueryVerificationDataResult> response = client.request(data);
if(response.getResponse().getCode() == 0) {
QueryVerificationDataResult result = response.getResponse().getResult();
System.out.println(JSON.toJSONString(result));
}else {
System.out.println("failed");
}