Fix invalid JSON error when deleting Card from Customer #992
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
We use the same code path to delete/detach Card + Source + any
STPSourceProtocol
froma Customer. Depending on the type of the object, the response varies, but the only field
that the response always has is
id
.This updates the private
STPAPI deleteSource:fromCustomerUsingKey:completion:
methodto use a new class,
STPGenericStripeObject
, as the deserializer. Now the SDK doesn'tincorrectly report failures.
Motivation
IOS-798
Testing
Minor updates to the tests, but this was best tested manually in the Standard Integration.
CheckoutViewController.init
, changeconfig.createCardSources
tofalse
.[STPPaymentMethodsInternalViewController tableView:commitEditingStyle:forRowAtIndexPath:]
,add a completion block to the
[self.apiAdapter detachSourceFromCustomer:completion:]
call.I chose to log the error, but you could also set a breakpoint and inspect it.
We don't have an automated way to create customers & attach sources, because that requires
a secret key.
We also don't have an existing test pattern to mock network responses to
STPAPIClient
.