#android #stripe-payments #payment-gateway
#Android #stripe-платежи #платежный шлюз
Вопрос:
Мой проект требует сохранения пользовательских карт, и я использовал Stripe для этого, согласно официальной документации stripe, я должен использовать их предварительно созданный CardInputWidget.
Теперь у меня есть некоторые требования к дизайну, которые не соответствуют этому виджету даже после изменения его темы или стиля.
Итак, я ищу любой другой способ сохранить карточку stripe с помощью простого edittext или создать пользовательский объект карты Stripe?
Вот код
implementation 'com.stripe:stripe-android:14.5.0'
Фрагмент кода
stripe = new Stripe(getActivity(), myApp.getStripePublishKey());
PaymentMethodCreateParams params = card_multiline_widget.getPaymentMethodCreateParams();
if (params == null) {
ToastUtils.makeToast(getActivity(), "Invalid Details");
return;
}
stripe.createPaymentMethod(params, new ApiResultCallback<PaymentMethod>() {
@Override
public void onSuccess(@NonNull PaymentMethod result) {
if (getActivity() != null) {
getActivity().runOnUiThread(() -> progressDialog.dismiss());
}
paymentMethodId = result.id;
LogUtils.e(paymentMethodId);
saveCard();
// Send paymentMethodId to your server for the next steps
}
@Override
public void onError(@NonNull Exception e) {
// Display the error to the user
e.printStackTrace();
LogUtils.e(e.getMessage());
if (getActivity() != null) {
getActivity().runOnUiThread(() -> progressDialog.dismiss());
}
}
});
Комментарии:
1. Если вы используете свои собственные входные данные для сбора некоторых входных данных карты, вам просто нужно создать PaymentMethod CreateParams вручную, используя различные поля PaymentMethod CreateParams.Card.Builder : stripe.dev/stripe-android/stripe/com.stripe.android.model/… , остальной код тот же(использование объекта params для создания метода оплаты)
2. Это работает, я так долго искал его и не смог увидеть этот метод построения в документе. @karllekko Спасибо, чувак.
Ответ №1:
Короткое
Я думаю, что не рекомендуется использовать свой собственный ввод. Предпочитаю Stripe one.
Пояснения
Google может отклонить приложение из-за сбоя безопасности.
Если вы используете текстовое поле для ввода карты, вы можете увидеть номер карты перед отправкой в stripe. Таким образом, вы можете сохранить полную информацию о карте в файле журнала или где-либо еще, прежде чем получать токен Stripe.
Вы можете сделать это без дурных намерений, но будьте осторожны, если кто-то его нашел…