diff --git a/src/main/java/com/braintree/braintreep4psamplemerchant/OrdersV2Client.java b/src/main/java/com/braintree/braintreep4psamplemerchant/OrdersV2Client.java index 06cef5f..5043e3b 100644 --- a/src/main/java/com/braintree/braintreep4psamplemerchant/OrdersV2Client.java +++ b/src/main/java/com/braintree/braintreep4psamplemerchant/OrdersV2Client.java @@ -1,6 +1,7 @@ package com.braintree.braintreep4psamplemerchant; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -11,15 +12,19 @@ @Component public class OrdersV2Client { - private static final String ORDERS_V2_URL = "https://api.ppcpn.stage.paypal.com/v2/checkout/orders"; + private static final String ORDERS_V2_PATH = "/v2/checkout/orders"; private RestTemplate restTemplate; private PayPalTokenClient payPalTokenService; + private String url; @Autowired - public OrdersV2Client(RestTemplate restTemplate, PayPalTokenClient payPalTokenService) { + public OrdersV2Client(RestTemplate restTemplate, + PayPalTokenClient payPalTokenService, + @Value("${url}") String url) { this.restTemplate = restTemplate; this.payPalTokenService = payPalTokenService; + this.url = url; } Order createOrder(CreateOrderRequest orderBody, String countryCode) { @@ -28,7 +33,7 @@ Order createOrder(CreateOrderRequest orderBody, String countryCode) { orderHeaders.setContentType(MediaType.APPLICATION_JSON); HttpEntity orderRequest = new HttpEntity<>(orderBody, orderHeaders); - ResponseEntity orderResponse = restTemplate.postForEntity(ORDERS_V2_URL, orderRequest, Order.class); + ResponseEntity orderResponse = restTemplate.postForEntity(url + ORDERS_V2_PATH, orderRequest, Order.class); System.out.println("OrderID: " + orderResponse.getBody().getId()); System.out.println("HTTP status code: " + orderResponse.getStatusCode()); @@ -45,7 +50,7 @@ Order processOrder(ProcessOrderRequest processOrderRequest, String metadataId) { orderHeaders.setContentType(MediaType.APPLICATION_JSON); HttpEntity orderRequest = new HttpEntity<>("", orderHeaders); - ResponseEntity orderResponse = restTemplate.postForEntity(ORDERS_V2_URL +"/"+ processOrderRequest.getOrderId() +"/" + processOrderRequest.getIntent(), + ResponseEntity orderResponse = restTemplate.postForEntity(url + ORDERS_V2_PATH +"/"+ processOrderRequest.getOrderId() +"/" + processOrderRequest.getIntent(), orderRequest, Order.class); diff --git a/src/main/java/com/braintree/braintreep4psamplemerchant/PayPalTokenClient.java b/src/main/java/com/braintree/braintreep4psamplemerchant/PayPalTokenClient.java index 9549fb0..695f65f 100644 --- a/src/main/java/com/braintree/braintreep4psamplemerchant/PayPalTokenClient.java +++ b/src/main/java/com/braintree/braintreep4psamplemerchant/PayPalTokenClient.java @@ -1,6 +1,7 @@ package com.braintree.braintreep4psamplemerchant; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; @@ -16,15 +17,17 @@ @Component public class PayPalTokenClient { - private static final String TOKEN_URL = "https://api.msmaster.qa.paypal.com/v1/oauth2/token"; + private static final String TOKEN_PATH = "/v1/oauth2/token"; private final RestTemplate restTemplate; private final TokenUtil tokenUtil; + private final String url; @Autowired - public PayPalTokenClient(RestTemplate restTemplate, TokenUtil tokenUtil) { + public PayPalTokenClient(RestTemplate restTemplate, TokenUtil tokenUtil, @Value("${url}") String url) { this.restTemplate = restTemplate; this.tokenUtil = tokenUtil; + this.url = url; } public UniversalAccessToken getLowScopedUAT(final String countryCode) { @@ -47,7 +50,7 @@ private UniversalAccessToken getUAT(final String authorizationHeader) { HttpEntity> request = new HttpEntity<>(body, headers); ResponseEntity response = restTemplate.postForEntity( - TOKEN_URL, + url + TOKEN_PATH, request, UniversalAccessToken.class); diff --git a/src/main/resources/application-sandbox.properties b/src/main/resources/application-sandbox.properties new file mode 100644 index 0000000..405264c --- /dev/null +++ b/src/main/resources/application-sandbox.properties @@ -0,0 +1,10 @@ +server.port=${PORT:5000} +spring.profiles.active=sandbox +logging.level.org.springframework=INFO + +url=https://api.sandbox.paypal.com + +us.client.id=AeXe2KSvEQ1ZvqP_jxJZyoa1lnD1KNrRPZMJBNFg3r6ytHlYCo34dNKdrbbNCE6Fud4PK9TZAisue9YH +us.client.secret=EBZfWSYY_9SQmh4o9RcuIVeUGOhyIIv0TEnZz2c_yXO7vifzzuTElWnHmOnkjSbZqWvjze0gRC8pXEYN +uk.client.id=todo +uk.client.secret=todo \ No newline at end of file