简体   繁体   English

在登录asp.net上检测到PayPal订阅取消

[英]Detecting paypal subscription cancel on login asp.net

I am building an asp.net web app that involves paypal subscriptions. 我正在构建一个涉及Paypal订阅的asp.net Web应用程序。 I need to check if the user has cancelled on login is this possible and if so how? 我需要检查是否可以取消用户登录,如果可以,怎么办? I have seen other posts on this subject but my situation is different since I'll be checking on login. 我已经看过有关此主题的其他文章,但由于要检查登录信息,因此情况有所不同。 I was thinking maybe I can do a batch dump of data from paypal nightly and check against that to set a flag on the users that cancelled. 我当时在想,也许我可以每晚从Paypal中批量转储数据,并进行检查以在已取消的用户上设置标记。 Not sure what the best way to do this is.. 不确定执行此操作的最佳方法是..

If you want to check whether the user has accepted or cancelled the agreement after logging to the PayPal then yes you can check this by using the Express Checkout Token . 如果要在登录到PayPal后检查用户是否接受或取消了协议,则可以使用Express Checkout令牌进行检查。 You need to call GetExpressCheckoutDetails API on the Token after the buyer log in to the PayPal account and look for the variable BILLINGAGREEMENTACCEPTEDSTATUS in the response . 买方登录到PayPal帐户并在响应中查找变量BILLINGAGREEMENTACCEPTEDSTATUS之后,需要在令牌上调用GetExpressCheckoutDetails API。

BILLINGAGREEMENTACCEPTEDSTATUS=0 means buyer has not accepted the agreement or clicked on cancel after logging to the PayPal account . BILLINGAGREEMENTACCEPTEDSTATUS = 0表示买方在登录PayPal帐户后未接受该协议 或未单击取消

BILLINGAGREEMENTACCEPTEDSTATUS=1 , means by has clicked on the "agree and continue" after logging to the PayPal . BILLINGAGREEMENTACCEPTEDSTATUS = 1,表示在登录PayPal后点击“同意并继续”

I have included some sample response . 我已经提供了一些样本回复。

For rejection after log in : 登录后拒绝:

NVP Response:
TOKEN=EC-0RC04801KU663840M
**BILLINGAGREEMENTACCEPTEDSTATUS=0**
CHECKOUTSTATUS=PaymentActionNotInitiated
TIMESTAMP=2014-09-14T14:54:43Z
CORRELATIONID=5cc68231a1b35
ACK=Success
VERSION=109.0
BUILD=12786467
EMAIL=XXXXXXXXXXXXXX
PAYERID=XXXXXXXXXXXX
PAYERSTATUS=verified
FIRSTNAME=Eshan Personal Test
LASTNAME=Account
COUNTRYCODE=US
CURRENCYCODE=USD
AMT=0.00
SHIPPINGAMT=0.00
HANDLINGAMT=0.00
TAXAMT=0.00
INSURANCEAMT=0.00
SHIPDISCAMT=0.00
PAYMENTREQUEST_0_CURRENCYCODE=USD
PAYMENTREQUEST_0_AMT=0.00
PAYMENTREQUEST_0_SHIPPINGAMT=0.00
PAYMENTREQUEST_0_HANDLINGAMT=0.00
PAYMENTREQUEST_0_TAXAMT=0.00
PAYMENTREQUEST_0_INSURANCEAMT=0.00
PAYMENTREQUEST_0_SHIPDISCAMT=0.00
PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED=false
PAYMENTREQUEST_0_ADDRESSNORMALIZATIONSTATUS=None
PAYMENTREQUESTINFO_0_ERRORCODE=0 

For acceptance after log in : 登录后接受:

NVP Response:
TOKEN=EC-1EX65013S71914041
PHONENUM=408-767-7151
**BILLINGAGREEMENTACCEPTEDSTATUS=1**
CHECKOUTSTATUS=PaymentActionNotInitiated
TIMESTAMP=2014-09-14T14:56:24Z
CORRELATIONID=aae4de7a4b356
ACK=Success
VERSION=109.0
BUILD=XXXXXXXXXXXXX
PAYERID=XXXXXXXXXXXXXX
PAYERSTATUS=verified
FIRSTNAME=Eshan Personal Test
LASTNAME=Account
COUNTRYCODE=US
SHIPTONAME=Eshan Personal Test Account
SHIPTOSTREET=cxas
SHIPTOSTREET2=asa
SHIPTOCITY=FL
SHIPTOSTATE=FL
SHIPTOZIP=95616
SHIPTOCOUNTRYCODE=US
SHIPTOCOUNTRYNAME=United States
ADDRESSSTATUS=Confirmed
CURRENCYCODE=USD
AMT=0.00
SHIPPINGAMT=0.00
HANDLINGAMT=0.00
TAXAMT=0.00
INSURANCEAMT=0.00
SHIPDISCAMT=0.00
PAYMENTREQUEST_0_CURRENCYCODE=USD
PAYMENTREQUEST_0_AMT=0.00
PAYMENTREQUEST_0_SHIPPINGAMT=0.00
PAYMENTREQUEST_0_HANDLINGAMT=0.00
PAYMENTREQUEST_0_TAXAMT=0.00
PAYMENTREQUEST_0_INSURANCEAMT=0.00
PAYMENTREQUEST_0_SHIPDISCAMT=0.00
PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED=false
PAYMENTREQUEST_0_SHIPTONAME=Eshan Personal Test Account
PAYMENTREQUEST_0_SHIPTOSTREET=cxas
PAYMENTREQUEST_0_SHIPTOSTREET2=asa
PAYMENTREQUEST_0_SHIPTOCITY=FL
PAYMENTREQUEST_0_SHIPTOSTATE=FL
PAYMENTREQUEST_0_SHIPTOZIP=95616
PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=US
PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME=United States
PAYMENTREQUEST_0_ADDRESSSTATUS=Confirmed
PAYMENTREQUEST_0_ADDRESSNORMALIZATIONSTATUS=None
PAYMENTREQUESTINFO_0_ERRORCODE=0 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM