See how I started complete procedure,
Step 1. First called SetExpressCheckout,
AMT=0.00
PAYMENTREQUEST_0_AMT=0.00
PAYMENTACTION
BILLINGAGREEMENTDESCRIPTION
BILLINGTYPE=MerchantInitiatedBilling
RETURNURL
CANCELURL
CURRENCYCODE
SOLUTIONTYPE=Sole
LOCALECODE=us
LANDINGPAGE=Billing
step 2. then I called CreateBillingAgreement
TOKEN
PAYERID
PAYMENTACTION
AMT
CURRENCYCODE
IPADDRESS
It returns Billing Id.
Step 3. calling DoReferenceTransaction with parameters:
&REFERENCEID=B-0GJ65589SA3528026 //billing Id generated by CreateBillingAgreement method
&PAYMENTACTION=Sale
&AMT=3.00
&CURRENCYCODE=USD
&IPADDRESS=paypalrecurring.com
&L_ITEMCATEGORY0=Digital
&DESC=Test+Recurring+Payment%28+%243.00+monthly%29
&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital
&L_PAYMENTREQUEST_0_QTY0=1
&L_PAYMENTREQUEST_0_NAME0=Test Name
&L_PAYMENTREQUEST_0_AMT0=3.00
&L_NAME0=Test Name
&L_DESC0=Test+Recurring+Payment%28+%243.00+monthly%29
&L_AMT0=3.00
&ITEMAMT=3.00
&L_QTY0=1
But the aerror ocuurs:
Array
(
[TIMESTAMP] => 2015-11-03T11:29:51Z
[CORRELATIONID] => 811b64f880aff
[ACK] => Failure
[VERSION] => 69
[BUILD] => 000000
[L_ERRORCODE0] => 10004
[L_SHORTMESSAGE0] => Invalid Data
[L_LONGMESSAGE0] => This transaction cannot be processed.
[L_SEVERITYCODE0] => Error
[TRANSACTIONTYPE] => None
[PAYMENTTYPE] => None
[ORDERTIME] => 1970-01-01T00:00:00Z
[PAYMENTSTATUS] => None
[PENDINGREASON] => None
[REASONCODE] => None
)
Please tell me where I am wrong.
Note: Paypal team said RT enabled. (Sandbox testing)
First try to set
RECURRING
field of DoReferenceTransaction API call.
If it's without success use method CreateRecurringPaymentsProfile instead DoReferenceTransaction. API Documentation link.
I recommend to not use paypal sandbox - just use https://api-3t.paypal.com/nvp and set price to 0.01 - this will prevent double testing
Error 10004 has appear when has incompatibility between methods SetExpressCheckout and ( in your case ) DoReferenceTransaction
About error "Express Checkout Digital Goods is no longer available for new integrations" :
We made a contact with Paypal support to activate the Digital Goods for our main paypal account. Also we tried many times to activate Digital Goods inside our paypal account and after several days this error disappear like a miracle :)
I am not so sure how I resolve this error but after trying many different tests ( including asking PayPal support ) he just disappear. So my advice is to continue trying with different ways and combinations
Related
I want to integrate Payflow pro reference transaction (Credit card) in my cart. I am using payflow manager test account and enabled reference transactions to "Yes" in manage security tab.
I could successfully transfer test payment first time, this is my response - Array ( [RESULT] => 0 [PNREF] => A70A7EB1773A [RESPMSG] => Approved [AUTHCODE] => 928PNI [AVSADDR] => X [AVSZIP] => X [CVV2MATCH] => Y [HOSTCODE] => A [PROCAVS] => U [PROCCVV2] => M [VISACARDLEVEL] => 12 [IAVS] => X [PREFPSMSG] => No Rules Triggered [POSTFPSMSG] => No Rules Triggered )
But when I try to do reference transactions, i am getting below response - Array ( [RESULT] => 23 [PNREF] => A1008A6A9700 [RESPMSG] => Invalid account number ), I am using same PNREF num as ORIGID and successfully completed payment at initial time. Then why it is showing "Invalid account number" ?
Below arguments I have used for reference transaction - $nvpstr = "TRXTYPE=S&TENDER=C&PWD=an****&PARTNER=PayPal&VENDOR=an****&USER=an****&ORIGID=A70A7EB1773A&AMT=2.00";
Do we need to call paypal team to enable reference transaction for TEST ACCOUNT also ? Please help me to resolve the issue
It seems like you are not passing the "TRXTYPE=S" along with the other parameters. Even though in your above request you have mentioned "TRXTYPE=S" but still I believe somehow it is not being sent to the PayPal .
I am using Paypal ExpressCheckout method for my payments. I need to enhance my payment like paying multiple merchants using Express Checkout with Parallel Payments. And I have gone through the tutorial. When I submit, I am getting the error. My sent data is
&METHOD=SetExpressCheckout
&RETURNURL=http%3A%2F%2Fwww.mydomain.net%2Fpaypal_process.php
&CANCELURL=http%3A%2F%2Fwww.mydomain.net%2Fcancel.php
&PAYMENTREQUEST_0_CURRENCYCODE=SGD
&PAYMENTREQUEST_0_AMT=50
&PAYMENTREQUEST_0_ITEMAMT=50
&PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID=email#mydomain.com.sg
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_PAYMENTREQUESTID=CART26488-PAYMENT0
&L_PAYMENTREQUEST_0_NAME0=Depart San Jose Feb 12 at 12:10PM Arrive in Baltimore at 10:22PM
&L_PAYMENTREQUEST_0_NUMBER0=Flight 522
&L_PAYMENTREQUEST_0_QTY0=1
&L_PAYMENTREQUEST_0_AMT0=50
&L_PAYMENTREQUEST_0_DESC0=SJC Terminal 1. Flight time: 7 hours 12 minutes
Error :
Error : This account is not approved for the authorization service. To enable this service, contact PayPal customer service
Array
(
[TIMESTAMP] => 2014%2d10%2d20T09%3a36%3a03Z
[CORRELATIONID] => 4a7ab68babd8b
[ACK] => Failure
[VERSION] => 109%2e0
[BUILD] => 13443904
[L_ERRORCODE0] => 11623
[L_SHORTMESSAGE0] => This%20account%20is%20not%20approved%20for%20the%20authorization%20service%2e
[L_LONGMESSAGE0] => This%20account%20is%20not%20approved%20for%20the%20authorization%20service%2e%20To%20enable%20this%20service%2c%20contact%20PayPal%20customer%20service
[L_SEVERITYCODE0] => Error
)
I have surfed through internet about this error. But I cannot find the one. Please help me to achieve this.
After a surf from utter basics, I have found the answer. The PAYMENTREQUEST_0_PAYMENTACTION paramater value should be url encoded before sent.
"PAYMENTREQUEST_0_PAYMENTACTION='".urlencode("Sale")
It is because the email address PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID email#mydomain.com.sg is not confirmed.
Try to confirm the email address and execute the API call again.
I am working first time with paypal adaptive payment (Chained Payment) and trying to create a demo with sendbox account.
I am using Angell EYE PayPal PHP Library for this.
I have changed configration file and set all paypal account details.
Now when I am creating a chained payment with "ActionType" => "PAY_PRIMARY", then it shows success message with below response:
Array
(
[Errors] => Array
(
)
[Ack] => Success
[Build] => 11853342
[CorrelationID] => 3c9d6f6c63af1
[Timestamp] => 2014-07-21T23:16:31.579-07:00
[PayKey] => AP-xxxxxxxxxx
[PaymentExecStatus] => CREATED
[RedirectURL] => https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey=AP-6T168633BC6592444
[XMLRequest] => ReturnAllen_USPAY_PRIMARYhttp://sandbox.domain.com/cancel.phpAPP-80W284485P519543T192.168.3.11USDPRIMARYRECEIVER500.00aus_user1#gd.comtrue50.00aus_user2#gd.comfalse20.00rajvi#origzo.comfalsehttp://sandbox.domain.com/return.php
[XMLResponse] => 2014-07-21T23:16:31.579-07:00Success3c9d6f6c63af111853342AP-6T168633BC6592444CREATED
)
Then I tried to execute ExecutePayment API call it gives me response as below:
Array
(
[Errors] => Array
(
[0] => Array
(
[Receiver] =>
[Category] => Application
[Domain] => PLATFORM
[ErrorID] => 550001
[ExceptionID] =>
[Message] => This payment request must be authorized by the sender
[Parameter] =>
[Severity] => Error
[Subdomain] => Application
)
)
[Ack] => Failure
[Build] => 11853342
[CorrelationID] => b3d52c547fc23
[Timestamp] => 2014-07-21T23:16:48.190-07:00
[PaymentExecStatus] =>
[XMLRequest] => ReturnAllen_USAP-6T168633BC6592444
[XMLResponse] => 2014-07-21T23:16:48.190-07:00Failureb3d52c547fc2311853342550001PLATFORMApplicationErrorApplicationThis payment request must be authorized by the sender
)
I think it gives me some permission error but not getting the exact response and how to solve it. Please guide me on this.
Thanks in advance.
After you make the initial Pay request you'll see the result is giving you a RedirectURL. You need to redirect the user to that URL so they can login and agree to complete the payment.
It sounds like you're skipping straight to ExecutePayment without the user ever having been sent over to PayPal to authorize the payment, which is why you're getting that error at that point.
As of now you'll see you can view that URL it's showing for RedirectURL (https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey=AP-6T168633BC6592444) and it's loading the PayPal login. Until that is done with a sandbox buyer account, ExecutePayment will not work.
Also, I'm curious if you really mean to do a delayed chained payment..?? Since you were immediately attempting to run execute payment you may only need a regular chained payment, so you would just use PAY instead of PAY_PRIMARY. Then you wouldn't need ExecutePayment at all.
I have set up Paypal Payments Pro on Magento 1.7.0.2, but when I try to place an order, Paypal returns an error:
[response] => Array
(
[TIMESTAMP] => 2014-05-05T15:52:41Z
[CORRELATIONID] => 310e857075603
[ACK] => Failure
[VERSION] => 72.0
[BUILD] => 10850615
[L_ERRORCODE0] => 10002
[L_SHORTMESSAGE0] => Security error
[L_LONGMESSAGE0] => Security header is not valid
[L_SEVERITYCODE0] => Error
)
I have checked my credentials here, and they are returning a success.
https://api-3t.paypal.com/nvp?&user=xxxxxxxxxx&pwd=xxxxxxxxxx&signature=xxxxxxxxxx&version=70.0&METHOD=SetExpressCheckout&RETURNURL=http://www.paypal.com/test.php&CANCELURL=http://www.paypal.com/test.php&PAYMENTACTION=Sale&AMT=50&CURRENCYCODE=USD
Any ideas about what could cause this security header issue?
generally this error means you are not using the correct API credentials. If you are convinced your credentials are correct then take a look at your endpoint. Sandbox credentials will not be valid in the production environment and live credentials will produce this error in the sandbox
I am working Paypal with using API. I am getting error like this. I searched in Google.. i got only one suggestion regarding paypal api credentials. but the below code is working in another server. can anybody tell me what may be the reason.Thanks inadvance
Error : Security header is not valid
Array
(
[TIMESTAMP] => 2014%2d02%2d10T16%3a09%3a39Z
[CORRELATIONID] => 6df53789eb1fb
[ACK] => Failure
[VERSION] => 76%2e0
[BUILD] => 9605603
[L_ERRORCODE0] => 10002
[L_SHORTMESSAGE0] => Security%20error
[L_LONGMESSAGE0] => Security%20header%20is%20not%20valid
[L_SEVERITYCODE0] => Error
)
One of the following maybe..
- You are in sandbox mode with a live account or vice versa
- You have extra spaces before or after the account credentials