Ошибка чередования Firestore «Не удалось сериализовать объект. Сериализация коллекций не поддерживается, используйте вместо этого списки». - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь интегрировать Stripe с Firebase и Android для осуществления платежей. После поиска по inte rnet вот как я пытаюсь отправить токен на сервер:

   if (cardForm.isValid()) {
                String cardNumber = cardForm.getCardNumber();
                String cvv =  cardForm.getCvv();
                Integer month = new Integer(Integer.parseInt(cardForm.getExpirationMonth()));
                Integer year = new Integer(Integer.parseInt( cardForm.getExpirationYear()));

                 Card card = Card.create(cardNumber , month,  year, cvv);

                stripe.createCardToken(card, new ApiResultCallback<Token>() {
                    @Override
                    public void onSuccess(Token token) {
                        DocumentReference tokenRef;
                        tokenRef = db.collection("stripe_customers").document(firebaseAuth.getCurrentUser().getUid()).collection("tokens").document();


                        tokenRef.set(token).addOnSuccessListener(new OnSuccessListener<Void>() {
                            @Override
                            public void onSuccess(Void aVoid) {
                                Toast.makeText(getApplicationContext(), "Token successfully added to database", Toast.LENGTH_LONG).show();
                            }
                        }).addOnFailureListener(new OnFailureListener() {
                            @Override
                            public void onFailure(@NonNull Exception e) {
                                Toast.makeText(getApplicationContext(), e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
                            }
                        });

К сожалению , когда я пытаюсь установить данные токена в хранилище, возникает следующая ошибка:

java .lang.IllegalArgumentException: не удалось сериализовать объект. Сериализация коллекций не поддерживается, используйте вместо этого списки (находятся в поле 'card.loggingTokens $ stripe_release')

Что я могу сделать, чтобы это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...