Closed ARRR42 closed 5 years ago
Данные с Activity возвращаются данные в сериализованном виде, поэтому там не может быть безопасного приведения типов. Checkout.createTokenizationResult(data) стоит применять, когда мы уверены, что вернулись с нужного экрана и получили RESULT_OK. Можно сделать, как в примере: https://github.com/yandex-money/yandex-checkout-android-sdk#получение-результата-токенизации
С нашей стороны добавим более подробную информацию об этом методе в Javadoc и README, и сделаем понятный exception в случае, если метод вызывается из java-кода, и в поле data передаётся null.
Если вызвать 'Checkout.createTokenizationResult(data)' c data == null, или если в data не будет соответствующего Serializable объекта PaymentMethodType, произойдет краш.
Краш:
В Checkout.createTokenizationResult() используется небезопасное приведение типов:
val type = data.getSerializableExtra(EXTRA_PAYMENT_METHOD_TYPE) as PaymentMethodType