We have put together comprehensive guidelines and documentation to help you get right into integrating any of our products quickly. You can also get support when you need help!
I made a transfer of GHS235 to from my Flutterwave wallet to an Airtel Mobile money wallet in Ghana, since 23 August, 2020. At 8pm Nigeria time. But up till now, it is still showing Pending and the receipt still haven't received the money. I further contacted the support line and also sent emails. But the situation still remains the same. I am not happy about the poor customer care support services of Flutterwave, if this persist, I will have to take this issue to all social media platforms to let people know that Flutterwave brag about simplifying payments, but can also be the worse intermediary that can delay payment transactions. because it has the most annoying and unresponsive customer services.
Posted by Enabulele Osariemen Kelly 6 months ago
Hello, i'm trying to implement charge card endpoint, but im getting this in postman: { "error_id": "ERRNO614705149T1598274574943", "message": "Application error. Please contact support", "code": "app_error" } What can i do?
Posted by Tega Roy 6 months ago
I am getting the above error message when one of the card item is wrong. How do I solve this problem. Here is the full json data {"status":"success", "message":"Tx Fetched", "data":{ "id":300227610, "txRef":"OmwTfbyHnlmJ3r4", "orderRef":"URF_1598159647129_6300135", "flwRef":"oshabz/FLW304499894", "redirectUrl":"https://rave-webhook.herokuapp.com/receivepayment", "device_fingerprint":"497df12d7a7ded8e","settlement_token":null, "cycle":"one-time","amount":100,"charged_amount":100,"appfee":1.4, "merchantfee":0,"merchantbearsfee":1,"chargeResponseCode":"02", "raveRef":"RV31598159646856EDB2873FC2", "chargeResponseMessage":"Kindly enter the OTP sent to 234810***1285 and un********con. Didn't get the OTP? Dial *322*0# on your phone (MTN, Etisalat, Airtel) Glo, use *805*0#.", "authModelUsed":"PIN", "currency":"NGN", "IP":"::ffff:127.0.0.1", "narration":"CARD Transaction ", "status":"failed", "modalauditid":"69e8937f7d8fc263c175c64c62ffcc24", "vbvrespmessage":"No Card Record", "authurl":"N/A", "vbvrespcode":"RR-56", "acctvalrespmsg":null, "acctvalrespcode":null, "paymentType":"card", "paymentPlan":null, "paymentPage":null, "paymentId":"9789053", "fraud_status":"ok", "charge_type":"normal", "is_live":0,"retry_attempt":null, "getpaidBatchId":null, "createdAt":"2020-08-23T05:14:07.000Z", "updatedAt":"2020-08-23T05:14:41.000Z", "deletedAt":null,"customerId":220796513, "AccountId":142019,"customer.id":220796513, "customer.phone":null, "customer.fullName":"Anonymous customer", "customer.customertoken":null, "customer.email":"[email protected]", "customer.createdAt":"2020-08-23T05:14:07.000Z", "customer.updatedAt":"2020-08-23T05:14:07.000Z", "customer.deletedAt":null, "customer.AccountId":142019,"meta":[], "flwMeta":{} } }
Posted by Samson 6 months ago
Hi, I am using the Flutterwave Standard method of accepting payments. I'd like to know the structure of query parameters when redirecting users back to my hosted url. So far I know I could get /tx_ref=ref&transaction_id=30490&status=successful. I also know I could get /tx_ref=ref&status=cancelled when the user decides to cancel the payment (close the payment modal before completing payment). Is it possible to also get statuses like pending, failed e.g /tx_ref=ref&transaction_id=30490&status=pending. /tx_ref=ref&transaction_id=30490&status=failed. If pending and failed statuses exist, Is it also possible to simulate/test them on the redirect_url. Are these list of statuses (successful, pending, failed, cancelled) also the same as when performing transaction verification through this endpoint https://api.flutterwave.com/v3/transactions/:id/verify ?
Posted by Zak M 6 months ago
we are experiencing inconsistency in the payment options that are displayed for customers to choose from. when a request is generated which has a payment option of "card" like below. { "tx_ref":"BRK5F4136D277829", "amount":"50.00", "currency":"GHS", "redirect_url":"null", "payment_options":"card", "customer":{ "email":"[email protected]", "phonenumber":"+233246144043", "name":"Gideon Paitoo" }, "customizations":{ "title":"BrooksRemit", "description":"Brooks Wallet Funding", "logo":"https://ordagh.com/coming-soon/logo.png" } } {"status":"success","message":"Hosted Link","data":{"link":"https://checkout-testing.herokuapp.com/v3/hosted/pay/421afa716ce46b66cd73"}} the link that is generated, has a payment option for mobile money which we don't want to be displayed to the customer. Kindly assist resolve this issue
Posted by Abdul Rashid Lamptey 6 months ago
This is totally frustrating I have been trying to integrate your api to my app on android but I keep getting this error after I have inserted my pin. Instead of taking me to otp verification page it shows me this error. I have been on this for hours now. Do something about this please. new RaveUiManager(this). setAmount(100). setPublicKey(*********) .setEncryptionKey(************) .setEmail(email) .allowSaveCardFeature(false) .onStagingEnv(false) .acceptCardPayments(true) .initialize(); new RaveUiManager(this). setAmount(100). setPublicKey(*******) .setEncryptionKey(*********) .setEmail(email) .allowSaveCardFeature(false) .onStagingEnv(false) .acceptCardPayments(true) .initialize(); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { /* * We advise you to do a further verification of transaction's details on your server to be * sure everything checks out before providing service or goods. */ if (requestCode == RaveConstants.RAVE_REQUEST_CODE && data != null) { String message = data.getStringExtra("response"); if (resultCode == RavePayActivity.RESULT_SUCCESS) { Toast.makeText(this, "SUCCESS " + message, Toast.LENGTH_SHORT).show(); } else if (resultCode == RavePayActivity.RESULT_ERROR) { Toast.makeText(this, "ERROR " + message, Toast.LENGTH_SHORT).show(); } else if (resultCode == RavePayActivity.RESULT_CANCELLED) { Toast.makeText(this, "CANCELLED " + message, Toast.LENGTH_SHORT).show(); } } else { super.onActivityResult(requestCode, resultCode, data); } } I am still same error. How do I solve this problem. Thanks
Posted by Samson 6 months ago
If I put incorrect card number or put a date that shows my card has expired. It will still take me to the authorization page. How do I verify if the card number is correct or the date has expired. before sending the redirecting to the authorization page.
Posted by Oshaba Samson 6 months ago
Good day, i am working on bank transfer to ghana bank accounts. It has bank branch as one of the parameter that needs to be passed. Testing it, i find out that all the banks returns just one branch. Is that that expected behaviour? And also tested it and it seems adding branch code is not required tho not specified in the doc. Just want to be sure because i am thinking of removing it entirely
Posted by kingsley 6 months ago
I am trying to implement RaveNonUIManager of your android SDK and it does not change the card and no error I dont know what the problem could be. public void chargeCard(){ RaveNonUIManager raveNonUIManager = new RaveNonUIManager(). setAmount(amount). setPublicKey("FLWPUBK_TEST-2f6f9eca9903a888c5fdc8982514cd20-X") .setEncryptionKey("FLWSECK_TEST97c64bd835da") .setPhoneNumber(phone) .initialize(); CardPaymentManager cardPayManager = new CardPaymentManager(raveNonUIManager, this, this); Card card = new Card("5531886652142950", "08", "35", "564"); // Test MasterCard PIN cardPayManager.chargeCard(card); Toast.makeText(getApplicationContext(), "Printedl", Toast.LENGTH_SHORT).show(); } @Override public void showProgressIndicator(boolean active) { } @Override public void collectCardPin() { } @Override public void collectOtp(String message) { } @Override public void collectAddress() { } @Override public void showAuthenticationWebPage(String authenticationUrl) { } @Override public void onError(String errorMessage, @Nullable String flwRef) { Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show(); } @Override public void onSuccessful(String flwRef) { Toast.makeText(getApplicationContext(), "Transaction is successful", Toast.LENGTH_SHORT).show(); } @Override public void onSavedCardsLookupSuccessful(List<SavedCard> cards, String phoneNumber) { } @Override public void onSavedCardsLookupFailed(String message) { } @Override public void onDeleteSavedCardRequestSuccessful() { } @Override public void onDeleteSavedCardRequestFailed(String message) { } @Override public void collectOtpForSaveCardCharge() { } @Override public void onCardSaveSuccessful(String phoneNumber) { } @Override public void onCardSaveFailed(String message) { }
Posted by Oshaba Samson 6 months ago
Hello @Flutterwave, I want to use Flutterwave payment method on my Shopify store primarily for mobile money payments but I am not getting mobile money option when trying to pay for an order. I would appreciate your help. thanks.
Posted by William 6 months ago