I have a problem with PayPal classic API (for .net):
I want to show the details of the object during the express checkout process (PayPal). I used the classic API (.net) and I populated all the parameters (name, details ecc) before call "SetExpressCheckout(passing SetExpressCheckoutReq with element SetExpressCheckoutRequestType -> SetExpressCheckoutRequestDetailsType with details)" of "PayPalAPIInterfaceServiceService".
Usually paypal show me this page (I also set &useraction=commit) KO but I want this! OK
I also try to pass some parameter into query string to paypal (without success)
PAYMENTREQUEST_0_AMT=1.05&PAYMENTREQUEST_0_ITEMAMT=1.05&PAYMENTREQUEST_0_PAYMENTACTION=Sale&L_PAYMENTREQUEST_0_NAME0=Account+PRO+2&L_PAYMENTREQUEST_0_QTY0=1&L_PAYMENTREQUEST_0_AMT0=1.05
Is it possible to set a paypal description page?
Thanks
Related
We have integrated paypal payment gateway in our website and transaction is working fine on sandbox account in INR (Not in USD).
But after making a successful payment, paypal redirected to our website, with redirect url and query string append on it like paymentId,token,PayerID
and we also get the Transaction ID from c# code.
Now we need to get the details of that particular transaction (as attached in the image) like name, Buyer,Delivery address, Description,Unit price, Qty, Amount and Invoice ID etc.
How do I get these details in our website for making invoices in Asp.net MVC. Please help.
When in your C# code you capture/execute the payment and receive the transaction ID, you are (in that same response) also already receiving transaction details.
The details _are_ there. Look for them in the response object you already have.
More importantly, it appears you have done two bad things with your integration:
You've integrated using the old v1/payments API , possibly with the deprecated PayPal-Net-SDK
You are using redirects instead of an in-context integration
Recommendations to address the above:
Switch to the newest v2/checkout/orders API, using the Checkout-Net-SDK, documented here: https://developer.paypal.com/docs/checkout/reference/server-integration/ . You'll need two routes, one for 'Set Up Transaction (create order)' and one for 'Capture Transaction (capture order)'
Do not use any redirects. At all. Instead, keep your website open in the background so the buyer knows what they are paying for and stays within a familiar environment, and open PayPal in that context. Here is the approval flow to use, paired with the above two routes on your server: https://developer.paypal.com/demo/checkout/#/pattern/server
We are running an App with a Angular/Typescript frontend and a .NET backend, using Stripe Elements and Stripe.NET respectively.
We are currently using the "Sources" API.
The frontend can create sources, the backend saves them to our specific users. When you open the frontend again, the backend sends a list of source ids. The frontend then collects the data it needs to display those sources directly from Stripe so the user can pick one of his saved sources to pay and does not have to enter all the data again.
Enter the Payment Method / Payment Intend API.
Due to EU regulations Stripe has a new API that requires us to create cards no longer as "source" but as a "PaymentMethod". So I implemented that in the backend, opened the frontend in my IDE, updated the #types/stripe-v3 package and found the new payment intent API.
The only thing missing: I cannot figure out how the frontend is to access the payment method data, once created. I can create it. Send it to the backend. The backend can retrieve it. Send back the ID to the frontend... and now what? How to display the payment methods available?
I had expected a stripe.retrievePaymentMethod() as there is a stripe.retrieveSource(). But no such luck.
The only option I currently see to present the user with a list of existing payment methods is getting this info on the backend and piping it all, class by class, property by property to the client. Basically copying every single data class stripe has into our own backend REST definition. That cannot be right.
What am I missing? Why is there no stripe.retrievePaymentMethod() on the frontend? Did I not understand some fundamental facts about what those APIs should do?
After contacting Stripe directly, it was confirmed that that's just the way it is:
I think it's just an oversight that we didn't add one.
There are similar functions in the mobile SDK so I don't see why we shouldn't have it
There are no immediate plans to add the functionality back in in the very near future,
so as a workaround, I will tunnel all the data through our backend(s).
If I understand as well, I think your problem is following and the sequence of that. I hope this helps you.
I have implemented a payment gateway like ccAvenue with DotNet and angular, in my case, I send the data to the server, and from the server, I tried to redirect to the payment gateway, but APIs return some result, and the result can not be redirected.
So I created a web-form with implementation, I redirected my app to web-forms page and from there I called the ccAvenue page, and in the response URL, I send the response page of webforms only and after saving the response I redirected to my angular app.
Here is workaround if you want to process 3Dsecure cards and still support other methods like SEPA.
You could attach both, confirmed PaymentIntent (payment method) or Source to the Customer object.
On your frontend you could implement both (StripeElements with client secret for 3Dsecure cards) and IBAN element for SEPA.
I could provide my code example how I save payment intent to the customer. It's in PHP, but for other languages logic should be the same.
Assuming that our client already confirmed PaymentIntent and we have it's id:
$intent = \Stripe\PaymentIntent::retrieve($stripe_intent_id);
$payment_method = \Stripe\PaymentMethod::retrieve($intent->payment_method);
$stripe_customer = Stripe\Customer::create([
'payment_method' => $intent->payment_method,
]);
In case you've already created Customer object before you could use attach method:
$payment_method->attach(['customer' => 'cus_FTkGe4lv5LfyI0']);
Then you'll be able to charge using Customer object PaymentMethod or Source;
I didn't try to attach both methods to the same customer object (we only allow customer to have one payment option at the same time), but it should work. Let me know if it works for you.
I have created a Paypal send payment button from Paypal developers account on my aspx page from which a user can send me payments but i wonder how i can get a unique key, about which user had made me payment.
How can i recognize which person paid me through Paypal.
I can pass any value (his mail id, name, phone number or a unique key) but i don't know how Paypal will return values to me so i can maintain user payment history in DB
is there any good forum on this ?
Please anybody help me.
You can use the CUSTOM parameter for that. It will hold up to 256 characters, so if you need more than one value you can do something like value1|value2|etc and then split it back up on the other end.
When you include the CUSTOM parameter in API requests or standard buttons it will come back in IPN notifications so you can automate processing utilizing that data however you need to.
I'd like to hide or remove the shipping details or info in PayPal because we provide only services, thus we don't require the Shipping details to show in PayPal checkout page. I am using PayPal RestAPISDK.
Unfortunately the RESTful APIs do not yet have support for the NOSHIPPING variable that is used in the Classic APIs. Address handling is something that is being discussed for future releases.
I was also facing the same problem and sorted it out to some extent.
You just add the following parameter
redirectUrl += "&shipping=0";
and shipping address will not get displayed.
I am using Visual Studio 2008 to create my web application.
My problem is I want to create specific redirection URL for specific user without login page.
And I also want to check if the user input the wrong value for the URL parameter.
I have 3 user, each user can only see the different data based on the role.
Police - Criminal Data
Fire - Fire Data
Doctor - Patient Data
So, I want to setup the different URL for each of them.
Expected URL:
~/DataDisplay.aspx?role=POLICE&password=1234
~/DataDisplay.aspx?role=FIRE&password=5678
~/DataDisplay.aspx?role=DOCTOR&password=1001
Then, after user type that URL in browser, another problem is I also want my website will check whether the role and password are input correctly, if not match, it will show ERROR!.
Need help, please.Thanks, Siti..:)
I think you should ASP.NET membership. If you can extend easily for security and allow you to add more features if you want.
Introduction of ASP.NET tutorial