PayPal Rest API for Asp.net - asp.net-mvc

I am creating paypal rest api by the following steps
1. created login id by developer.paypal.com
2. clicked My apps
3. clicked button "Create app" created testapp
4. By clicking testapp I have gotted two api credentials (i) Test Credentials (ii) Live credentials (By click on show)
I am having problem by above api (Client ID and Secret ) in my code
the code giving error no 401 or some time 400
I have checked "Account eligibility"
PayPal payments and
Log In with PayPal is showing right sign
But
Features that are not enabled for live transactions
Direct credit cards
showing :
Note: Live credentials are disabled for direct credit card processing in your app. We are processing your information and will email you when live API credentials are enabled.
and same
Future Payments
Note: Live credentials are disabled for future payment processing in your app. We are processing your information and will email you when live API credentials are enabled.
But If I am using other Client ID and Secret then my code is working fine.
What am I doing wrong ?
Please help me .....

The REST API supports a number of countries and currencies. To check REST API support for direct credit card payments for a US account, see the Account eligibility page. Direct credit card support in the REST API is available in the UK if you sign up for a UK Website Payments Pro account.
If you are in the US, please visit the Account eligibility page to apply for permissions for Direct Credit cards and Future Payments. These applications are required to be reviewed and approved.

Related

Paypal restful apis canada, Not able to create app on developer.paypal.com

I have one mobile application. In which we have payment function. In our application we have below mentioned payment flow.
User can add credit card, For this first we are calling Paypal api (https://api.sandbox.paypal.com/v1/oauth2/token) to get token. As we got token then we are calling api (https://api.sandbox.paypal.com/v1/vault/credit-card) to get credit card details form paypal.
We are sending response details to our server. Our server will store that response.
Later from application if user want to pay then we are showing list of added card & user can select any of card.
We are sending card id to our server & based on stored details our server call charge api of paypal for charge.
Till now we are using sandbox account which belongs to USA. But Now we want to create live app on paypal & for this we are using our original account which belongs to Canada. But in create app section on developer.paypal.com we are not able to create application.
- Is this function of payment is not available in Canada ? If not then Please let us know how we can achieve it ?
- Is there any alternate exists for above mentioned payment function ?
Please let us know how we can create app and get clientid & secret for above mentioned payment function .
Thanks :)
REST API in PayPal for Credit Card is only allowable in US and UK Pro. Other country is not yet available.
Further information in here.

how to pay through a Paypal Direct Payment if buyer have a paypal account?

Context:
I have to implement a Ruby on Rails e-commerce website, containing a shopping cart.
An option is to use PayPal as a payment gateway.
The merchant (PayPal business account owner) is from Italy.
There are two different PayPal payment workflows available:
1. Express checkout:
in 4 steps:
The web app submits a payment request to PayPal via some PayPal API (see below),
The buyer is redirected to PayPal web server and once there the buyer:
can login (with his paypal username and password), if they already possess a PayPal Account, or
can submit credit/debit card data, if they do not possess any PayPal ACCOUNT
confirm purchase on paypal's server,
the buyer is redirected back to the application server, "where the settlement must be done to complete payment".
2. Direct Payment:
the buyer submits credit/debit card data directly into the original web app.
I'd prefer to implement this second scenario.
About Paypal available APIs:
I read something here: http://paypal.github.io/
Paypal "REST" APIs are NOT still available out of the US, so I have to use Paypal "Classic" APIs.
Using gem 'paypal-sdk-merchant' seems clear to me about how to submit a payment from a credit/debit card.
I can't find any info about the possibility to submit a Direct Payment for a buyer that have a Paypal Account.
if a buyer pays through his Paypal Account:
:payer => {
:payment_method => "paypal" }
if a buyer pays through his credit card:
:payer => {
:payment_method => "credit_card"}
So:
Can I use the Classic API for a live Italian Merchant User?
I'm asking because in PayPal sandbox it seems I can't set a test merchant user with country:IT ... maybe it's a sandbox limitation?
Can I do a direct payment with the Classic API supplying PayPal username/password (for users who have a PayPal account) instead of creditcard data (all other users)?
In short:
Yes, you can set up a merchant sandbox account on Paypal from Italy. You first need to login to Paypal with some real credentials (yours or your customer's), then go to to Paypal developers' page, select applications, then sandbox accounts.
I'm afraid direct payment is not part of the classic APIs, but I suggest you using the Paypal Express method. You can find docs here, and in Italian here.

Migration Questions from Paypal MPL to PaypalMobile iOS SDK

We are migrating from MPL to Paypal Mobile iOS SDK and we have what you call classic app. We could not find the migration guide and are having following questions.
The new sdk needs client id. Is the client id same as API Key?
According to the guide
"You need two credentials:
clientId: Available on the PayPal developer site.
receiverEmail: Your PayPal account email address
These are used to identify you as the recipient of payments. Both are public credentials; there is no need to attempt to obscure them or keep them private.
Important The receiverEmail should match the account used to get your client_id and secret."
We are not a receiver. We only facilitate payments between our users. Also we don't have a secret key. How do we let our users pay to other users?
In our app, user can pay their peers and also service providers. How do we make the distinction?
Your help is really appreciated!
Josh from PayPal here.
The PayPal iOS SDK does not currently have support for peer to peer payments.
The client_id is not the same as an API Key. You can get one from the PayPal developer website.
If you don't need support for direct credit card payments (sender has no PayPal account) you don't need the client_id. There is an option in the SDK to suppress direct credit card option. All you need to do is pass the payee's email address when initializing PaymentViewController. You can see the code snippet at https://developer.paypal.com/webapps/developer/docs/integration/mobile/ios-integration-guide/.

how to get PayPal client ID

I am developing an iphone app, i want to integrate it with PayPal which will use rest API.
I downloaded SDK 1.0.4 for iOS from this.
https://github.com/paypal/PayPal-iOS-SDK
There is a sample code given by PayPal.
But in this app i need to change PayPal client id and email address.
define kPayPalClientId #"YOUR CLIENT ID HERE"
define kPayPalReceiverEmail #"YOUR_PAYPAL_EMAIL#yourdomain.com"
how to get PayPal client id?
and how can i test it if money is transfered or not with the single PayPal account?
You can obtain your PayPal API credentials, including Client ID, by visiting the Applications page on the PayPal Developer site and logging in with your PayPal account.
Once logged in on this page, you will be assigned a sandbox Client ID, which will let you test your iOS integration against the PayPal sandbox. In your code, set the receiver email to a business sandbox account email address, then use a personal sandbox account email and password to log in to PayPal in the UI of your app. You can create business and personal sandbox accounts on the Sandbox accounts page.
To obtain your live Client ID, you will need to have a business account. If you don't yet have a business account, there is a link at the bottom of that same Applications page that will get you started. For live transactions, use your PayPal email address as the receiver email.
Log in to https://developer.paypal.com and click the Applications tab.
On the https://developer.paypal.com/webapps/developer/applications/myapps click Create App.
On the Create New App page, provide an app name.
Click Create App, and then review the information displayed about your app (as described below)
now you will get client id

Active merchant and Paypal API for recurring payment

I have few questions on paypal's recurring payments, I went trough the paypal documentation to find some answers but, it didn't help me much.
Here are the stuffs that I need to know, hope someone can help me on these.
I'm using paypal's standard payment account. So far I managed to create recurring payments with paypal by posting NVP's to paypal from merchant website to paypal.
Now I need to show recurring payment profiles on merchant web site. So that customers can cancel, modify recurring payments from merchant website without redirecting to paypal.Is this possible?
Think I should use paypal's SOAP API for this as I can't get the job done with NVP API. So I installed active merchant as described in this post. But I always get an error
This transaction is invalid. Please
return to the recipient's website to
complete your transaction using their
regular checkout flow.
from paypal and it never send me the token back.
Also I got this on my log
Security header is not
valid
Is it because I use sandbox API credentials or is it because I can't use paypal's standard account with SOAP API?
Usually the "security header is not valid" response comes from using sandbox credentials in the live environment or vice-versa. AM will use the sandbox when your Rails app is in development mode, so be sure you are using the right set of credentials.
When I was integrating PayPal's recurring payment profiles into the SaaS Rails Kit (using ActiveMerchant) I ended up just canceling a user's current profile and creating a new one when they wanted to change their subscription.

Resources