asp.net - Paypal adaptive payment return url is calling twice -


i have implemented paypal adaptive payment method , using web flow. after making payment, when explicitly clicks on return button, return url calls twice if wait auto redirect calls once only.

i not able understand why return url calling twice.

please advice.

i using below code.

public static actionoutput maketransactionusingpaypal(paymentdetails payment, shopcart shop_cart) {     receiverlist receiverlist = new receiverlist();     receiverlist.receiver = new list<receiver>();     string action_type = "pay_primary";     decimal amnt_to_admin = ((shop_cart.totalamounttobepaid * 10) / 100);      /*total amount admin account */     receiver rec1 = new receiver(shop_cart.totalamounttobepaid);     rec1.email = config.adminpaypalbusinessaccount;     rec1.primary = true;      /*amount after deducting admin commision seller */     receiver rec2 = new receiver(math.round((shop_cart.totalamounttobepaid - amnt_to_admin), 2, midpointrounding.toeven));     rec2.email = payment.paypalemail; // "anuj_merchant@xicom.biz";      receiverlist.receiver.add(rec1);     receiverlist.receiver.add(rec2);     payrequest req = new payrequest(new requestenvelope("en_us"), action_type, config.paypalcancelurl, "usd", receiverlist, config.paypalreturnurl);      // set. fire request                 adaptivepaymentsservice service = new adaptivepaymentsservice();      payresponse resp = null;     //transactiondetail details = new transactiondetail();      resp = service.pay(req);     string paykey = resp.paykey;     string paymentstatus = resp.paymentexecstatus;     responseenvelope responseenvelope = resp.responseenvelope;     payerrorlist errorlist = resp.payerrorlist;     list<errordata> errordata = resp.error;     if (errordata.count > 0)     {         return new actionoutput         {             status = actionstatus.error,             message = errordata[0].message         };     }     fundingplan defaultfundingplan = resp.defaultfundingplan;     warningdatalist warningdatalist = resp.warningdatalist;     string redirecturl = null;     if (!(resp.responseenvelope.ack == ackcode.failure) &&         !(resp.responseenvelope.ack == ackcode.failurewithwarning))     {         redirecturl = configurationmanager.appsettings["paypal_redirect_url"] + "_ap-payment&paykey=" + resp.paykey;      }     return new actionoutput     {         status = actionstatus.successfull,         message = "redirecting paypal...",         results = new list<string> { redirecturl, resp.paykey }     }; } 

@jitendra, had same issue , found out paypal uses server side script redirects user return url after while , when explicitly click on return button, paypal server script again hits return url on own 2 responses/hits on our return url.

we can on checking/maintaining no of responses after payments made on paypal.

we can maintain using cookies on client end or on server using sessions or else similar.

hope helps well.


Comments

Popular posts from this blog

linux - Does gcc have any options to add version info in ELF binary file? -

android - send complex objects as post php java -

charts - What graph/dashboard product is facebook using in Dashboard: PUE & WUE -