-
-
Save wehub/3f2facdace8fe59d9336f19bebb1ec1c to your computer and use it in GitHub Desktop.
Java_SDK
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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