3434import com .flutterwave .raveandroid .rave_presentation .card .SavedCardsListener ;
3535import com .flutterwave .raveandroid .rave_presentation .data .AddressDetails ;
3636import com .flutterwave .raveandroid .rave_remote .responses .SaveCardResponse ;
37+ import com .flutterwave .raveutils .verification .AVSVBVFragment ;
38+ import com .flutterwave .raveutils .verification .OTPFragment ;
39+ import com .flutterwave .raveutils .verification .PinFragment ;
3740import com .flutterwave .raveutils .verification .RaveVerificationUtils ;
3841
3942import java .util .ArrayList ;
@@ -373,8 +376,8 @@ private void validateEntries() {
373376
374377 cardPayManager = new CardPaymentManager (((RaveNonUIManager ) raveManager ), this , this );
375378 card = new Card (
376- // "5531886652142950", // Test MasterCard PIN authentication
377- "4242424242424242" , // Test VisaCard 3D-Secure Authentication
379+ "5531886652142950" , // Test MasterCard PIN authentication
380+ // "4242424242424242", // Test VisaCard 3D-Secure Authentication
378381// "4556052704172643", // Test VisaCard (Address Verification)
379382 "12" ,
380383 "30" ,
@@ -390,6 +393,35 @@ private void validateEntries() {
390393
391394 @ Override
392395 protected void onActivityResult (int requestCode , int resultCode , Intent data ) {
396+ if (resultCode == RaveConstants .RESULT_SUCCESS ) {
397+ switch (requestCode ) {
398+ case RaveConstants .PIN_REQUEST_CODE :
399+ String pin = data .getStringExtra (PinFragment .EXTRA_PIN );
400+ // Use the collected PIN
401+ cardPayManager .submitPin (pin );
402+ break ;
403+ case RaveConstants .ADDRESS_DETAILS_REQUEST_CODE :
404+ String streetAddress = data .getStringExtra (AVSVBVFragment .EXTRA_ADDRESS );
405+ String state = data .getStringExtra (AVSVBVFragment .EXTRA_STATE );
406+ String city = data .getStringExtra (AVSVBVFragment .EXTRA_CITY );
407+ String zipCode = data .getStringExtra (AVSVBVFragment .EXTRA_ZIPCODE );
408+ String country = data .getStringExtra (AVSVBVFragment .EXTRA_COUNTRY );
409+ AddressDetails address = new AddressDetails (streetAddress , city , state , zipCode , country );
410+
411+ // Use the address details
412+ cardPayManager .submitAddress (address );
413+ break ;
414+ case RaveConstants .WEB_VERIFICATION_REQUEST_CODE :
415+ // Web authentication complete, proceed
416+ cardPayManager .onWebpageAuthenticationComplete ();
417+ break ;
418+ case RaveConstants .OTP_REQUEST_CODE :
419+ String otp = data .getStringExtra (OTPFragment .EXTRA_OTP );
420+ // Use OTP
421+ cardPayManager .submitOtp (otp );
422+ break ;
423+ }
424+ }
393425
394426 if (requestCode == RaveConstants .RAVE_REQUEST_CODE && data != null ) {
395427
@@ -500,27 +532,21 @@ public void showProgressIndicator(boolean active) {
500532
501533 @ Override
502534 public void collectCardPin () {
503- Toast . makeText (this , "Submitting PIN" , Toast . LENGTH_SHORT ). show ();
504- cardPayManager . submitPin ( "3310" );
535+ new RaveVerificationUtils (this , isLiveSwitch . isChecked (), publicKeyEt . getText (). toString ())
536+ . showPinScreen ( );
505537 }
506538
507539 @ Override
508540 public void collectOtp (String message ) {
509- Toast .makeText (this , message , Toast .LENGTH_SHORT ).show ();
510- Toast .makeText (this , "Submitting OTP" , Toast .LENGTH_SHORT ).show ();
511- cardPayManager .submitOtp ("12345" );
541+ new RaveVerificationUtils (this , isLiveSwitch .isChecked (), publicKeyEt .getText ().toString ())
542+ .showOtpScreen (message );
512543 }
513544
514545 @ Override
515546 public void collectAddress () {
516547 Toast .makeText (this , "Submitting address details" , Toast .LENGTH_SHORT ).show ();
517- cardPayManager .submitAddress (new AddressDetails (
518- "8, Providence Street" ,
519- "Lekki Phase 1" ,
520- "Lagos" ,
521- "102102" ,
522- "NG" )
523- );
548+ new RaveVerificationUtils (this , isLiveSwitch .isChecked (), publicKeyEt .getText ().toString ())
549+ .showAddressScreen ();
524550 }
525551
526552 @ Override
0 commit comments