@Override public void success(String responseBody) { final PayPalPaymentResource paypalPaymentResource; try { paypalPaymentResource = PayPalPaymentResource.fromJson(responseBody); } catch (JSONException e) { fragment.postCallback(e); return; } String redirectUrl = Uri.parse(paypalPaymentResource.getRedirectUrl()) .buildUpon() .appendQueryParameter(USER_ACTION_KEY, paypalRequest.getUserAction()) .toString(); Request request; if (isBillingAgreement) { request = getBillingAgreementRequest(fragment, redirectUrl); } else { request = getCheckoutRequest(fragment, redirectUrl); } startPayPal(fragment, request, handler); }
CheckoutRequest checkoutRequest = getCheckoutRequest(fragment, null); JSONObject parameters = new JSONObject() .put(RETURN_URL_KEY, checkoutRequest.getSuccessUrl())
@Test public void getCheckoutRequest_containsCorrectValues() throws JSONException { Configuration configuration = Configuration.fromJson(stringFromFixture("configuration/with_offline_paypal.json")); BraintreeFragment fragment = mMockFragmentBuilder.configuration(configuration).build(); CheckoutRequest request = PayPal.getCheckoutRequest(fragment, "https://paypal.com/?token=pairingId"); assertEquals(EnvironmentManager.MOCK, request.getEnvironment()); assertEquals("com.braintreepayments.api.braintree://onetouch/v1/cancel", request.getCancelUrl()); assertEquals("com.braintreepayments.api.braintree://onetouch/v1/success", request.getSuccessUrl()); assertEquals("paypal_client_id", request.getClientId()); assertEquals("pairingId", request.getPairingId()); }
@Test public void getCheckoutRequest_buildsWithOfflineStageUrl() throws JSONException { Configuration configuration = Configuration.fromJson(stringFromFixture("configuration/with_offline_paypal.json")); BraintreeFragment fragment = mMockFragmentBuilder.configuration(configuration).build(); Request request = PayPal.getCheckoutRequest(fragment, null); assertEquals(EnvironmentManager.MOCK, request.getEnvironment()); }
@Test public void getCheckoutRequest_buildsWithLiveStageUrl() throws JSONException { Configuration configuration = Configuration.fromJson(stringFromFixture("configuration/with_live_paypal.json")); BraintreeFragment fragment = mMockFragmentBuilder.configuration(configuration).build(); Request request = PayPal.getCheckoutRequest(fragment, null); assertEquals(EnvironmentManager.LIVE, request.getEnvironment()); }
@Test public void getCheckoutRequest_buildsWithCustomStageUrl() throws JSONException { Configuration configuration = Configuration.fromJson(stringFromFixture("configuration/with_custom_paypal.json")); BraintreeFragment fragment = mMockFragmentBuilder.configuration(configuration).build(); Request request = PayPal.getCheckoutRequest(fragment, null); assertEquals("custom", request.getEnvironment()); }