Skip to content

Instantly share code, notes, and snippets.

@wehub
Last active June 29, 2021 20:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wehub/3f2facdace8fe59d9336f19bebb1ec1c to your computer and use it in GitHub Desktop.
Save wehub/3f2facdace8fe59d9336f19bebb1ec1c to your computer and use it in GitHub Desktop.
Java_SDK
package com.wepay;
import com.wepay.endpoints.AccountsApi;
import com.wepay.endpoints.LegalEntitiesApi;
import com.wepay.endpoints.PaymentsApi;
import com.wepay.endpoints.RefundsApi;
import com.wepay.exception.*;
import com.wepay.model.additional_params.LegalEntitiesCreateAdditionalParams;
import com.wepay.model.additional_params.PaymentsCreateAdditionalParams;
import com.wepay.model.additional_params.RefundsCreateAdditionalParams;
import com.wepay.model.data.*;
import com.wepay.model.enums.CountryEnum;
import com.wepay.model.enums.CurrencyEnum3;
import com.wepay.model.enums.InitiatedByEnum2;
import com.wepay.model.enums.TypeEnum4;
import com.wepay.model.resource.Account;
import com.wepay.model.resource.LegalEntity;
import com.wepay.model.resource.Payment;
import com.wepay.model.resource.Refund;
import com.wepay.network.Configuration;
import com.wepay.network.WePayRequest;
import com.wepay.network.Configuration.Environment;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.json.JSONException;
import org.json.JSONObject;
public class WePay {
public static Long clientId;
public static String clientSecret;
private static final Logger LOGGER = Logger.getLogger("global");
public WePay() {
}
public static void main(String[] args) {
Configuration configuration = new Configuration();
configuration.setAppId(<APP ID>);
configuration.setAppToken(<APP Token>);
configuration.setEnvironment(Environment.STAGE);
WePayRequest.initializeRequest();
try {
// Create a Legal Entity
LegalEntitiesCreateAdditionalParams legalEntitiesCreateAdditionalParams = new LegalEntitiesCreateAdditionalParams();
legalEntitiesCreateAdditionalParams.setUniqueKey("33333");
legalEntitiesCreateAdditionalParams.setClientIp("100.166.99.123");
legalEntitiesCreateAdditionalParams.setWepayRiskToken("123e4567-e89b-12d3-a456-426655440000");
LegalEntitiesCreateData createData = new LegalEntitiesCreateData();
createData.setCountryCode(CountryEnum.US);
ControllerReq controllerReq = new ControllerReq();
controllerReq.setEmailNullable("test@test.com");
createData.setControllerReq(controllerReq);
LegalEntity createResult = LegalEntitiesApi.create(createData, legalEntitiesCreateAdditionalParams);
// Create a Account
AccountsCreateData accountsCreateData = new AccountsCreateData();
accountsCreateData.setLegalEntityId(createResult.getId());
Account createAccount = AccountsApi.create(accountsCreateData);
// Create a Payment (Payments must be enabled, see Enable Merchant Article)
PaymentsCreateData paymentsCreateData = new PaymentsCreateData();
JSONObject customData = new JSONObject();
customData.put("my_key", "invoice #54321");
paymentsCreateData.setCustomData(customData);
paymentsCreateData.setAmount(1000);
paymentsCreateData.setAutoCapture(true);
paymentsCreateData.setCurrency(CurrencyEnum3.USD);
paymentsCreateData.setFeeAmount(30);
paymentsCreateData.setId(createAccount.getId());
paymentsCreateData.setReferenceId("3456667789");
paymentsCreateData.setInitiatedByReq(InitiatedByEnum2.CUSTOMER);
PaymentMethodForPayments paymentMethodForPayments = new PaymentMethodForPayments(TypeEnum4.PAYMENT_METHOD_ID, "00000000-6363-0000-0000-003c04b1b32c");
paymentsCreateData.setPaymentMethodForPayments(paymentMethodForPayments);
PaymentsCreateAdditionalParams paymentsCreateAdditionalParams = new PaymentsCreateAdditionalParams();
paymentsCreateAdditionalParams.setClientIp("100.166.99.123");
paymentsCreateAdditionalParams.setUniqueKey("2311344");
paymentsCreateAdditionalParams.setWepayRiskToken("123e4567-e89b-12d3-a456-426655440000");
Payment payment = PaymentsApi.create(paymentsCreateData, paymentsCreateAdditionalParams);
// Create a Refund
RefundReq refundReq = new RefundReq();
refundReq.setRefundReason("delayed shipping");
refundReq.setPaymentId("00000000-0000-0000-0000-000006fcd875");
RefundAmounts refundAmounts = new RefundAmounts();
refundAmounts.setCurrency(CurrencyEnum3.USD);
refundAmounts.setFeeRefundAmount(0);
refundAmounts.setTotalAmount(100);
refundReq.setRefundAmounts(refundAmounts);
RefundsCreateAdditionalParams refundsCreateAdditionalParams = new RefundsCreateAdditionalParams();
Refund refund = RefundsApi.create(refundReq, refundsCreateAdditionalParams);
LOGGER.log(Level.INFO, "Successfully creates a refund.");
} catch (WePayException e) {
LOGGER.warning(e.getMessage());
for (WePayException.Detail detail : e.getDetails()) {
LOGGER.warning(String.join(".", detail.getTarget()));
LOGGER.warning(detail.getMessage());
}
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment