Skip to content

Commit

Permalink
Add ability to start server given an env context (sand & local)
Browse files Browse the repository at this point in the history
Co-authored-by: sestevens <[email protected]>
Co-authored-by: scannillo <[email protected]>
  • Loading branch information
3 people committed Jan 27, 2020
1 parent a2972e2 commit a94e891
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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) {
Expand All @@ -28,7 +33,7 @@ Order createOrder(CreateOrderRequest orderBody, String countryCode) {
orderHeaders.setContentType(MediaType.APPLICATION_JSON);

HttpEntity<CreateOrderRequest> orderRequest = new HttpEntity<>(orderBody, orderHeaders);
ResponseEntity<Order> orderResponse = restTemplate.postForEntity(ORDERS_V2_URL, orderRequest, Order.class);
ResponseEntity<Order> 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());
Expand All @@ -45,7 +50,7 @@ Order processOrder(ProcessOrderRequest processOrderRequest, String metadataId) {
orderHeaders.setContentType(MediaType.APPLICATION_JSON);

HttpEntity<String> orderRequest = new HttpEntity<>("", orderHeaders);
ResponseEntity<Order> orderResponse = restTemplate.postForEntity(ORDERS_V2_URL +"/"+ processOrderRequest.getOrderId() +"/" + processOrderRequest.getIntent(),
ResponseEntity<Order> orderResponse = restTemplate.postForEntity(url + ORDERS_V2_PATH +"/"+ processOrderRequest.getOrderId() +"/" + processOrderRequest.getIntent(),
orderRequest,
Order.class);

Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -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) {
Expand All @@ -47,7 +50,7 @@ private UniversalAccessToken getUAT(final String authorizationHeader) {

HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(body, headers);
ResponseEntity<UniversalAccessToken> response = restTemplate.postForEntity(
TOKEN_URL,
url + TOKEN_PATH,
request,
UniversalAccessToken.class);

Expand Down
10 changes: 10 additions & 0 deletions src/main/resources/application-sandbox.properties
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit a94e891

Please sign in to comment.