I am using PHP Payflow library for payment. Its working fine with the default settings of user name, password and vendor, but when I put my vendor along with an user created at my manager site, I keep getting api error for sale method as:
RESULT 52
PNREF B70P6E0297BE
RESPMSG Insufficient permissions to perform transaction
pnref differs though. When I checked for daily transactions at manager site, all the transaction are listed there with result code as 52.
I tried to create profile of payer for recurring billing, but that too results with code 36 and txnresult code 5 and api error looks like
RESULT 36
RPREF R1056FBB4803
RESPMSG Transaction failed: Fail to obtain approval for the online transaction
TRXRESULT 5
TRXPNREF B70P6E02CD90
TRXRESPMSG Invalid merchant information: 10002-You do not have permissions to make this API call
HOSTCODE 10002
TRANSTIME 2014-09-01 04:12:28
FIRSTNAME John
LASTNAME Doe
AMT 3.00
ACCT 1111
EXPDATE 1215
CARDTYPE 0
This transaction also listed in daily transactions.
The user I am using for transaction has give API_FULL_TRANSACTION permission. I tried to change it to FULL_TRANSACTION but the result is same. I also tried the transaction with ADMIN permissions, but it also results with code 52.
What kind of permission do we need to set for user to perform the transaction?
For the result code = 52 , it seems that you have PayPal advanced account but you are trying to process the Payments directly on your website using the API's that is not allowed because with PayPal advanced you have to use PayPal Hosted checkout Pages . To get rid of this error you must have pro account or use the hosted checkout Pages .
And one more thing if you are in test mode , make sure to put the sandbox account email address in your manager account under Service settings --> Set Up --> PayPal sandbox email address . And this sandbox account should be a Pro account . You can create a sandbox account by logging to developer.paypal.com with your PayPal credentials --> Applications--> Sandbox accounts .
For the recurring billing error , can you post the parameters submitted to the PayPal ?
Your Payflow Manager account has to sync with your PayPal Sandbox account. then it is ready to begin accepting Test/Sandbox transactions.
If you do not see the PayPal Express Checkout section on the Set Up page, you will need to contact Merchant Technical Support. Url : https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ1961&expand=true&locale=en_US
Related
The situation
In my e-commerce project, I'm using stripe card element to catch payments from customers to the platform's Stripe account. After my Laravel application listens to the webbook of a successful payment that is fired by Stripe, the app then fires a job to add credit on the seller's platform account. This part works perfectly fine.
The question
Is there a way to add some sort of a button in the seller's profile on the platform that allows the seller to receive exactly the amount that is on their account on the platform?
Let's say he has $100 credit on the platform, after clicking 'pay me' button, the seller will get this $100 paid out from the platform's stripe account to his bank account.
I have accomplished until now:
1- A visitor can add item to cart and checkout.
2- Uses stripe card element to take the payment.
3- When payment is successful, the amount goes to the platform's stripe account.
4- The application listens to successful payment webhook and adds credit to the seller's account on the platform (As simple as having a column on the database for each seller with the default of 0 and it increases upon each successful customer payment).
Thoughts
What do you think about this? https://stripe.com/docs/connect/add-and-pay-out-guide
I'm thinking of using this technique since I'm doing everything manual. I believe I can skip the part where I top-up my Stripe account (Since it should be having credit by default from the successful payment).
So here is what I think:
0- A customer makes a successful payment towards some products and the application catches Stripe webhooks and fires a job to add credit to the seller's platform account.
1- The seller receives a notification that he has credit on the platform's account.
2- The seller then can click on a button that takes him to a route where I redirect him to create (stripe express account)[https://stripe.com/docs/connect/add-and-pay-out-guide?integration=with-code#with-code-create-account-link]
3- After the seller gets redirected to the platform again and I catch the webhook that account has been created, The seller then will be redirected to receive the determined amount by my platform. https://stripe.com/docs/connect/add-and-pay-out-guide?integration=with-code#with-code-pay-out-to-user
You can ask your sellers to register an express account when they onboard your platform, so that your sellers can submit all necessary documentation for account verification and make their accounts payout enabled.
When your customer is about to make a payment, you should create a destination charge so that Stripe can automatically transfer the funds from platform to a connected account, you can also opt to charge an application fee from this transaction if you wish.
Stripe will automatically perform payouts based on the account's payout schedule , if you prefer to do it manually, change the schedule's interval to manual . Visit this page to learn more about manual payouts.
I am facing some issue with Paypal payment gateway integration.
My live site transaction are working fine and payment has approved but test mode payment return following error message
Invalid merchant information: 10002-You do not have permissions to
make this API call
I am using follow URL for the send the request on the test or live mode
if ($this->test_mode == 1) {
$this->submiturl = 'https://pilot-payflowpro.paypal.com';
}
else
{
$this->submiturl = 'https://payflowpro.paypal.com';
}
I have update the Manager account details by following steps
Business Pro sandbox account in your manager account under "Service Settings --> Set Up --> PayPal Sandbox Email address".
Possible Solutions:
This error message is a result of an API call that you cannot make due to the account level setting most likely in your manager account; account preferences, transaction settings: [credit max ] [reference transaction] [ect.] man - what kind of request are you sending? Sale, Credit, Referenced Credit or Reference Transaction?
Comments
The sandbox account does not need to be in the manager side as that
is just for testing PayPal Express Checkout payments
The endpoints are correct for the test/live gateway
1) I have created the object for PRPaymentProfile by passing merchant info like,
paypal_user_name,paypal password and signature
2) Using that object I am creaing the user profile using paypalHttpPostRequest method with the argument of 'CreateRecurringPaymentsProfile' and details of buyer's payment details
The above steps are working fine with paypal sandbox account. For the live I am getting DPRP error.
You will need to signup for DPRP here . It is $30 per month in addition to the regular Virtual Terminal or Website Payments Pro monthly fees.
I have problem with paypal sendbox testing account. I am trying to reproduce failing transaction when there is no enough funds but even when i make PERSONAL test account with 0$ i always get transaction complited and money is always transferd on BUSSINESS account. When i try to pay i get this message:
PayPal will use Discover XXXX-XXXX-XXXX-0295 to fund this transaction
if your bank does not have enough funds.
So every time it draws money from that card, but when i try to delete that card from PERSONAL user i am rejected.
Do you know what can cause this problem? :/
You can create test accounts without bank / balance / card.
Though if that's the case and the account doesn't have any funds, the buyer will be asked to add a card to his account prior to being redirected back to your site.
If you'd like to test a card decline (which is different than testing a PayPal account with no funds), enable 'Negative testing' on your buyer test account and set the 'amount' the AMT='104.86 for API error code 10486, or AMT=106.06 for API error code 10606.
See also https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/ht_ec_fundingfailure10486/ for more details about testing the API error 10486.
This is driving me crazy! I can't get the PayPal express (Payflow?) api to work....
paypal sandbox tells me:
Test Account: AAAA.B_CCCCCCCCCC_biz#XXXXX.com
API Username: AAAA.B_CCCCCCCCCC_biz_api1.XXXXX.com
API Password: DDDDDDDDDD
Signature: ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
in the paypayfunctions.php i wrote:
$API_User="AAAA.B_CCCCCCCCCC_biz#XXXXX.com";
$API_Password="DDDDDDDDDD";
$API_Vendor="AAAA.B_CCCCCCCCCC_biz#XXXXX.com";
$API_Partner="PayPal";
...
And when I test the service, all i get is "SetExpressCheckoutDetails API call failed. Error Message: Invalid vendor accountError Code: 26"
The PayPal documentation and examples are terribly complex, all I want to do is having a simple button that links to paypal to start the payment of XXX euro's to account YYYY....
Can anyone help me?
Thanks in advance!
Express Checkout and Payflow are two separate PayPal services. Your sandbox credentials (which include a signature) are for Express Checkout. The script asks for a partner, which is specific to Payflow.
What do you want to use? Express Checkout or Payflow? See the paragraphs below for more information on the two.
Are you sure the script is for Express Checkout?
Is the script connecting to the sandbox or live API? The Express Checkout sandbox API is located at https://api-3t.sandbox.paypal.com/nvp.
Express Checkout is primarily used for payments using a PayPal account. You can set up a sandbox environment at developer.paypal.com. Within the sandbox you can create test accounts, at sandbox.paypal.com. See the PayPal API Reference for more details.
Payflow is a payment gateway that allows you to pay using a credit card or checks, among others. PayPal accounts are not supported by Payflow. You can sign up for an account, which can be used for testing and real payments after you upgrade the account. See the User's Guide for Payflow Link (PDF) for more details.
Issue
PayPal returned result code 26 - Invalid vendor account when processing a transaction.
Cause
You may get result code 26 if:
You just activated your account.
A vendor account doesn't become active until at least an hour after it was created. Typically, a database update begins at 20 minutes past the hour and lasts about 20 minutes. If your account becomes active while the database is updating (after the 20-minute mark), you must wait until after the next hour's update before you can use it.
The login information is incorrect.
Verify the information you entered in the User, Vendor, Partner, and Password fields.
Check that you sent the correct Partner value.
The primary user's Merchant ID should be in the User field. For a secondary Payflow Pro user, the User field should contain the password assigned by the primary user.
All fields are case-sensitive.
**
The bank BIN number is unknown.
** For PayPal Australia (VSA) only, result code 26 indicates that the customer's credit card is issued by a credit union or small financial institution. The processor, FDRA, has no bank identification number (BIN) on file for the card, which triggers the error message,"No Universal Account - Response code 42." You must get another credit card or form of payment from your customer.
Solution
Check that all values in use are both correct values and proper case (all values are case-sensitive).