Paypal Express Checkout with Parallel Payments - php

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.

Related

Not getting success for DoReferenceTransaction

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

Adaptive chained paypal payment :: error 550001

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.

Paypal gateway returns error for Magento store

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

Paypal Api Redirection Headers issue

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

"Paypal express checkout", not see any transactions in paypal account, although reture success code in program

Everything runs well, users are directed to paypal, commit the payment, and returns "SUCCESS" code and comes back to the merchant website. But when I log into the user account and merchant account, I can not see any transactions. None after several hours.
I am use 3nd party integration and sandbox testing. (I can send money directly from the sandbox accounts. )
Here are the strings.
METHOD] => SetExpressCheckout <p>
[VERSION] => 65.1 <p>
[PWD] => 13012.. <p>
[USER] => emily....<p>
[SIGNATURE] => AY-...<p>
[ADDRESSOVERRIDE] => 1 <p>
[L_NAME0] => 106791TBL3 <p>
[L_AMT0] => 18 <p>
[L_QTY0] => 1 <p>
[L_DESC0] => ...<p>
[MAXAMT] => 43 <p>
[AMT] => 18 <p>
[ITEMAMT] => 18<p>
[CALLBACKTIMEOUT] => 4<p>
[INSURANCEOPTIONOFFERED] => false<p>
[ReturnUrl] => https://.. <p>
[CANCELURL] => https://..<p>
[CURRENCYCODE] => USD <p>
[PAYMENTACTION] => sale<p>
You should see transactions even in the sandbox environment, but you MUST log in as the test-merchant that you used in your settings, and you MUST log in in the sandbox environment.
Easiest way is to login with your developer account first, then list your test-accounts, select the merchant account and then click ad the end of the page "Enter sandbox site", that would give you a login prompt where you would enter the test-merchant password. If you don't know it, reset it from the developer site.
Check a mail message sent by IPN service – it should contain the “TransactionID” field – the identifier of the successfully submitted transaction.

Categories