@Override public void onCustomerRetrieved(@NonNull Customer customer) { String sourceId = customer.getDefaultSource(); if (sourceId == null) { displayError("No payment method selected"); return; } CustomerSource source = customer.getSourceById(sourceId); proceedWithPurchaseIf3DSCheckIsNotNecessary(source.asSource(), customer.getId()); }
verify(mStripeApiProxy).setDefaultCustomerSourceWithKey( eq(ApplicationProvider.getApplicationContext()), eq(mFirstCustomer.getId()), eq("pk_test_abc123"), mListArgumentCaptor.capture(), Customer capturedCustomer = customerArgumentCaptor.getValue(); assertNotNull(capturedCustomer); assertEquals(mSecondCustomer.getId(), capturedCustomer.getId());
verify(mStripeApiProxy).setCustomerShippingInfoWithKey( eq(ApplicationProvider.getApplicationContext()), eq(mFirstCustomer.getId()), eq("pk_test_abc123"), mListArgumentCaptor.capture(),
assertEquals(firstKey.getCustomerId(), mFirstCustomer.getId()); assertEquals(firstKey.getCustomerId(), session.getCustomer().getId()); assertEquals(mFirstCustomer.getId(), capturedCustomer.getId()); assertNotNull(session.getCustomer()); assertEquals(mFirstCustomer.getId(), session.getCustomer().getId()); verifyNoMoreInteractions(mStripeApiProxy);
verify(mStripeApiProxy).addCustomerSourceWithKey( eq(ApplicationProvider.getApplicationContext()), eq(mFirstCustomer.getId()), eq("pk_test_abc123"), mListArgumentCaptor.capture(),
verify(mStripeApiProxy).deleteCustomerSourceWithKey( eq(ApplicationProvider.getApplicationContext()), eq(mFirstCustomer.getId()), eq("pk_test_abc123"), mListArgumentCaptor.capture(),
assertEquals(firstKey.getCustomerId(), mFirstCustomer.getId()); Customer capturedCustomer = customerArgumentCaptor.getValue(); assertNotNull(capturedCustomer); assertEquals(mSecondCustomer.getId(), capturedCustomer.getId()); assertNotNull(session.getCustomer()); assertEquals(mSecondCustomer.getId(), session.getCustomer().getId());
@Test public void create_withoutInvokingFunctions_fetchesKeyAndCustomer() { CustomerEphemeralKey firstKey = getCustomerEphemeralKey(FIRST_SAMPLE_KEY_RAW); assertNotNull(firstKey); mEphemeralKeyProvider.setNextRawEphemeralKey(FIRST_SAMPLE_KEY_RAW); CustomerSession.initCustomerSession( mEphemeralKeyProvider, mStripeApiProxy, null); CustomerSession session = CustomerSession.getInstance(); assertEquals(firstKey.getId(), Objects.requireNonNull(session.getEphemeralKey()).getId()); try { verify(mStripeApiProxy).retrieveCustomerWithKey( firstKey.getCustomerId(), firstKey.getSecret()); assertNotNull(session.getCustomer()); assertEquals(mFirstCustomer.getId(), session.getCustomer().getId()); } catch (StripeException unexpected) { fail(unexpected.getMessage()); } }
@Test public void fromJson_whenCustomer_returnsExpectedCustomer() { Customer customer = Customer.fromString(TEST_CUSTOMER_OBJECT); assertNotNull(customer); assertEquals("cus_AQsHpvKfKwJDrF", customer.getId()); assertEquals("abc123", customer.getDefaultSource()); assertNull(customer.getShippingInformation()); assertNotNull(customer.getSources()); assertEquals("/v1/customers/cus_AQsHpvKfKwJDrF/sources", customer.getUrl()); assertFalse(customer.getHasMore()); assertEquals(Integer.valueOf(0), customer.getTotalCount()); }