Stripe과 함께 Firebase 클라우드 기능을 사용하여 결제를 처리하는 Android 및 iOS 애플리케이션이 있습니다.Firebase Cloud Functions (Stripe : AddPaymentSource)
클라이언트 측에서는 토큰 작업을 처리 한 다음 실시간 데이터베이스에 기록합니다. 작성이 끝나면 addPaymentSource 클라우드 기능이 향후 거래를 위해 해당 지불 소스를 저장하는 트리거를 작성합니다.
iOS에서 토큰을 만든 다음 해당 출력을 내 서버에 저장하는 프로세스가 충분히 흥미로운 것은 예상대로 작동합니다. iOS 구현을 Android 애플리케이션에 복제하려고 할 때 내 문제가 발생합니다. Firebase 클라우드 기능이 예상대로 트리거되지만 내 서버에 오류가 출력됩니다. 서버에서 발견
오류 :
"The source hash must include an 'object' key indicating what type of source to create."
클라이언트 코드 :
public void tokenizePaymentFields(){
Stripe stripe = new Stripe(getApplicationContext(), stripePublishableKey);
final Card stripeCard = new Card(validCard.getCardNumber()
,Integer.valueOf(validCard.getExpiredDate().substring(0,2)),Integer.valueOf(validCard.getExpiredDate().substring(3,5)),validCard.getCvvCode());
if (!stripeCard.validateCard()) {
Toast.makeText(getApplicationContext(),
"There was an error validating your card.",
Toast.LENGTH_LONG
).show();
return;
}
stripe.createToken(
stripeCard,
new TokenCallback() {
public void onSuccess(Token token) {
// Send token to your server
pushToServer(token);
}
public void onError(Exception error) {
// Show localized error message
activitySubmitCreditCardBinding.progressCircle.setVisibility(View.INVISIBLE);
Toast.makeText(getApplicationContext(),
error.getLocalizedMessage(),
Toast.LENGTH_LONG
).show();
}
}
);
}
스트라이프 (중포 기지 클라우드 기능) : https://github.com/firebase/functions-samples/tree/master/stripe
굉장합니다. 당신의 도움을 주셔서 감사합니다. – Cari95