2
votes

"Page Web non disponible, la page Web à l'adresse http: //xxx.xxx.xxx.xx: 3000 / pgSimulator / axis / redirect n'a pas pu être chargée. Net :: ERR_CLEARTEXT_NOT_PERMITTED"

J'intègre la passerelle de paiement payumoney sur mon application Android. Mais quand j'ai essayé de faire une transaction test avec une carte de débit test. Cela montre une erreur. quand je contacte le service client payumoney, ils ont dit de mettre l'url sur liste blanche sur le serveur. Je ne sais pas comment ajouter un serveur ito url à la liste blanche.

public void startpay() {

    builder.setAmount(amount)                          // Payment amount
            .setTxnId(txnid)                         // Transaction ID
            .setPhone(phone)                   // User Phone number
            .setProductName(prodname)                   // Product Name or description
            .setFirstName(firstname)                              // User First name
            .setEmail(email)              // User Email ID
            .setsUrl("https://www.payumoney.com/mobileapp/payumoney/success.php")     // Success URL (surl)
            .setfUrl("https://www.payumoney.com/mobileapp/payumoney/failure.php")     //Failure URL (furl)
            .setUdf1("")
            .setUdf2("")
            .setUdf3("")
            .setUdf4("")
            .setUdf5("")
            .setUdf6("")
            .setUdf7("")
            .setUdf8("")
            .setUdf9("")
            .setUdf10("")
            .setIsDebug(true)                              // Integration environment - true (Debug)/ false(Production)
            .setKey(merchantkey)                        // Merchant key
            .setMerchantId(merchantId);


    try {
        paymentParam = builder.build();
        // generateHashFromServer(paymentParam );
        getHashkey();

    } catch (Exception e) {
        Log.e(TAG, " error s " + e.toString());
    }

}





public void getHashkey() {
    ServiceWrapper service = new ServiceWrapper(null);
    Call<String> call = service.newHashCall(merchantkey, txnid, amount, prodname,
            firstname, email);


    call.enqueue(new Callback<String>() {
        @Override
        public void onResponse(Call<String> call, Response<String> response) {
            Log.e(TAG, "hash res " + response.body());
            String merchantHash = response.body();
            if (merchantHash.isEmpty() || merchantHash.equals("")) {
                Toast.makeText(StartPaymentActivity.this, "Could not generate hash", Toast.LENGTH_SHORT).show();
                Log.e(TAG, "hash empty");
            } else {
                // mPaymentParams.setMerchantHash(merchantHash);
                paymentParam.setMerchantHash(merchantHash);
                // Invoke the following function to open the checkout page.
                // PayUmoneyFlowManager.startPayUMoneyFlow(paymentParam, StartPaymentActivity.this,-1, true);
                PayUmoneyFlowManager.startPayUMoneyFlow(paymentParam, StartPaymentActivity.this, R.style.AppTheme_default, false);
            }
        }

        @Override
        public void onFailure(Call<String> call, Throwable t) {
            Log.e(TAG, "hash error " + t.toString());
        }
    });

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    //PayUMoneySdk: Success -- merchantResponse438104
    // on successfull txn
    //  request code 10000 resultcode -1

    // Result Code is -1 send from Payumoney activity
        Log.e("StartPaymentActivity", "request code " + requestCode + " resultcode " + resultCode);
    if (requestCode == PayUmoneyFlowManager.REQUEST_CODE_PAYMENT && resultCode == RESULT_OK && data != null) {
        TransactionResponse transactionResponse = data.getParcelableExtra(PayUmoneyFlowManager.INTENT_EXTRA_TRANSACTION_RESPONSE);

        if (transactionResponse != null && transactionResponse.getPayuResponse() != null) {

            if (transactionResponse.getTransactionStatus().equals(TransactionResponse.TransactionStatus.SUCCESSFUL)) {
                //Success Transaction

                Toast.makeText(this, "Payment successful", Toast.LENGTH_SHORT).show();
            } else {
                //Failure Transaction
                Toast.makeText(this, "Payment failed", Toast.LENGTH_SHORT).show();

            }

            // Response from Payumoney
            //String payuResponse = transactionResponse.getPayuResponse();

            // Response from SURl and FURL
            //String merchantResponse = transactionResponse.getTransactionDetails();
            //Log.e(TAG, "tran " + payuResponse + "---" + merchantResponse);
        } /* else if (resultModel != null && resultModel.getError() != null) {
            Log.d(TAG, "Error response : " + resultModel.getError().getTransactionResponse());
        } else {
            Log.d(TAG, "Both objects are null!");
        }*/
    }
}







@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    //PayUMoneySdk: Success -- merchantResponse438104
    // on successfull txn
    //  request code 10000 resultcode -1

    // Result Code is -1 send from Payumoney activity
        Log.e("StartPaymentActivity", "request code " + requestCode + " resultcode " + resultCode);
    if (requestCode == PayUmoneyFlowManager.REQUEST_CODE_PAYMENT && resultCode == RESULT_OK && data != null) {
        TransactionResponse transactionResponse = data.getParcelableExtra(PayUmoneyFlowManager.INTENT_EXTRA_TRANSACTION_RESPONSE);

        if (transactionResponse != null && transactionResponse.getPayuResponse() != null) {

            if (transactionResponse.getTransactionStatus().equals(TransactionResponse.TransactionStatus.SUCCESSFUL)) {
                //Success Transaction

                Toast.makeText(this, "Payment successful", Toast.LENGTH_SHORT).show();
            } else {
                //Failure Transaction
                Toast.makeText(this, "Payment failed", Toast.LENGTH_SHORT).show();

            }

            // Response from Payumoney
            //String payuResponse = transactionResponse.getPayuResponse();

            // Response from SURl and FURL
            //String merchantResponse = transactionResponse.getTransactionDetails();
            //Log.e(TAG, "tran " + payuResponse + "---" + merchantResponse);

        } 
    }
}

Page Web non disponible


5 commentaires

Ne pensez-vous pas qu'il vaut mieux masquer votre adresse IP?


Lorsque vous allez pour la transaction, il ira à la page du serveur local?


Essayez de tester sur le serveur UAT, pas sur le serveur local.


Avez-vous la solution ou pas?


Pour accéder à la page du réseau local, vous devez vous connecter avec le même réseau (wifi)


3 Réponses :


3
votes

Veuillez conserver cette ligne dans votre fichier manifeste Android sous la balise d'application android: usesCleartextTraffic = "true" comme indiqué ci-dessous

AndroidManifest.xml

< pré> XXX


0 commentaires

0
votes

Cela se produit car l'URL Web est HTTP au lieu de HTTPS ( http: //XXX.XXX.XXX.XX: 3000 / .... .)

C'est déjà répondu ici. Android 8: trafic HTTP en texte clair non autorisé


0 commentaires

2
votes

Veuillez conserver cette ligne dans votre fichier manifeste Android sous la balise d'application android: usesCleartextTraffic = "true" comme indiqué ci-dessous

<application
             android:usesCleartextTraffic="true"
         tools:replace="usesCleartextTraffic">

    </application>


0 commentaires