How do you use UIWebview to make a transaction using Paypal and retrieve a receipt or transaction information. - objective-c

I've seen different documentation on various forums and site on different ways of using Paypal api, here is a pretty useful link: https://cms.paypal.com/us/cgi-bin?cmd=_render-content&content_ID=developer/e_howto_api_ECOnMobileDevices&bn_r=o/, My question is a little different i do not want to use any of the Paypal libraries offered to us in my app, this is the link to libraries:https://www.x.com/developers/paypal/documentation-tools/sdk , I also do not want to gather any personal information, I want Paypal to take care of everything. So in other words I want to be able to open up a UIWebview to the Paypal's mobile site if possible (or if not the regular site will work) have to user log in with his credential or he can use the express checkout option and get back the transaction ID, or receipt what ever is available. I'm a little new to iOS and any help is appreciated.

If you don't want to use any libraries or API's, Express Checkout won't work for you.
Which does make it somewhat easier, as you can just use PayPal Website Payments Standard in a UIWebView instead.
For example; just open https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=your#email.tld&amount=1.99&currency_code=GBP
This will start a 1.99 GBP payment to email#here.tld via PayPal, and automatically use a mobile layout.
If you subsequently want to receive transaction information; set up PayPal IPN on your account and use that to receive transaction-related events. This can be handled outside your app, and thus take away precious processing power to the server.
For an overview on getting started with PayPal IPN, have a look at https://www.paypal.com/ipn/

I would strongly suggest against trying to do transactions through paypal. If you look at the App Store Review Guidelines it states that
11.2 Apps utilizing a system other than the In App Purchase API (IAP) to purchase content, functionality, or services in an app will be rejected

Related

How would I go about developing a program that automatically sends an email with the tracking number to a customer using EasyPost API?

I'm a fairly new web developer and I have an ecommerce website that integrates EasyPost to create and print shipping labels.
EasyPost has an API. Also, in each shipping label, I see a JavaScript object (I think) that displays buyer_address... "email": "example#gmail.com",, which tells me that the email information is there.
My question is somewhat general in scope: What steps would I need to take to go about creating this automation? The website is built in Webflow, so I don't really have a "codebase" or "repository" to store whatever code is needed to build the automation.
Since the buyer email is making it into EasyPost with integrations already in place, I feel that I could create a simple program that emails the tracking number to the buyer email every time a label is generated, or perhaps when package is shipped, without the program needing to interact with Webflow or other integrations.
I attempted using Zapier, as well as Make.com. Neither worked, and OrderDesk doesn't have a way to send tracking number emails.
It looks like Webflow has some kind of support for Webhooks (https://webflow.com/feature/create-webhooks-from-project-settings). EasyPost offers webhooks for free as an add-on service. Basically, with webhooks, EasyPost would send tracking events to Webflow proactively, but Webflow (or you) would need to manage the logic for what to do with those tracking events after they are delivered.
EasyPost Webhook Guide
I'm unaware of any off the shelf products that could do this for you without writing any code. We have a guide that details how you might accomplish this with Ruby (you could then follow this as an example for any other language): https://www.easypost.com/email-tracking-tutorial
A few suggestions:
Integrate something into Webflow if possible (I'm unfamiliar with the platform so couldn't say).
Build a simple script that runs on a schedule (cronjob) that retrieves your trackers from EasyPost and sends an email to customers if they have not yet received one. To your point, this approach wouldn't require interacting with Webflow at all and could be done with some local code running on a server and just your EasyPost API key.
I've created a simple UI for EasyPost: https://github.com/Justintime50/easypost-tools-ui, it could be interesting to add this particular use-case as a feature to that project. If you're interested, feel free to open an issue on GitHub for the repo listed here and I'd consider it.
You'd use easypost's API webhooks, to detect when shipment tracking information is provided, or package information is updated.
https://www.easypost.com/docs/api#trackers
It looks like it has a lot of states, so you can keep the client updated regarding the package status from the moment the tracking # is assigned;
EZ1000000001 pre_transit
EZ2000000002 in_transit
EZ3000000003 out_for_delivery
EZ4000000004 delivered
EZ5000000005 return_to_sender
EZ6000000006 failure
EZ7000000007 unknown
You can install webhooks from these docs.
To send the email, you can use an automation service e.g. Make to capture those webhook events, and then compose and send an email to that customer. I like MailJet for that purpose, because it has excellent template support and you can send from your own company domain. But there are many email-sending options.
A bigger challenge, maybe, is getting the email address to send to. I didn't spot it glancing through the Trackers or Shipments data structures, and I am primarily seeing physical address info.
If EasyPost is not tracking the customer's email with the shipment, you may have some challenge in that you'd need to capture the client info through Webflow's order webhooks, and then associate that with EasyPost's shipmentid, and store those in a reference table.
Many automation services offer database-like functionality for this purpose, or you could use e.g. google sheets ( columns webflow OrderID, easypost ShipmentID, customer Email ) or airtable for that purpose.
But you'd have to look into the Easypost integration as well, and you may need to make that integration manual so that you can acquire all 3 of those pieces of information at the same point in your business data flow.

Paypal IPN - alternatives by competitors?

I've integrated PayPal's Instant Payment Notification system/kit with my site. It's been working well for years.
I'd like to add another method, as PayPal has been concerning me with their industry-leading fees and censorship efforts. I'm not saying others are much better, but I want to at least add a second-string option.
Can any of you recommend an alternative that is as easy / similar to PayPal's IPN ?
All thoughts welcome, and thanks.
I use Paypal IPN as my default payment for my store. I also developed an alternative at FastPring, Bitpay, CoinPayments, and Paddle. Bitpay and CoinPayments are for processing payments in cryptos. CoinPayments uses an IPN-like system. Paddle is for processing cards like Paypal. It also uses an IPN-like system thru webhooks. Fastspring uses webhooks. I created a single file that processed the webhooks I need to process. Note that Stripe also uses Webhooks.

Single page checkout for shopify

Kindly please suggest me the best way to single page checkout for Shopify store. As Shopify doesn't support any customization to the checkout page. Our requirement is to create a single page checkout. let me know how it is achievable.
Basic Shopify does not support customization in the checkout page. It is only available to Shopify plus Customer. Please visit here for more information.
You want a single page checkout you may need to create your own checkout process which will again require your store to be a Shopify Plus store. However, there are many Apps which can help you with single page checkout. You may want to use one of them if you don't want to build the whole functionality. You may want to check the below conversation - Link
You should not use Shopify if you want to make your own Checkout. Shopify is a hosted platform and they no longer want to let people play with the cash register themselves.
Of the few Apps that remain that do offer checkout outside of Shopify, you can see the hassles involved for customers. Why not just roll your own? If you can do your own checkout, hook up to an open source system instead where you can do that easier.
This is easy enough to do if you have the skills. Basically create an app that has a proxy page and change the theme's links replacing the paths to the checkout with paths to your proxied checkout.
There are a number of ways to collect payment info if you do this including using the draft_orders api to send the customer back to Shopify for final payment (not applicable for single page checkout but sometimes works well with the business reason that justifies a custom checkout in the first place)
You can also create a sales channel app that works much like the proxied app concept but has some more api capabilities.
However you really need a good business reason for doing this. Single page checkout was fashionable a few years ago but I've had as many customers go away from it as go towards it. Shopify has done quite a lot of work on their checkout and it works well (i.e. is fast and efficient) on all their supported platforms. Creating a custom checkout means your stuck maintaining it and are potentially increasing your liability if you take credit cards but have not received PCI certification.

Shopify Plugin for making custom payement gateway

I want to make the custom payement gateway in the shopify so which programming language would be suitable for making plugin and also give some hint how to proceed in it.
For making plugin for payement gateway do we have to use public app or private app???
Since Shopify apps integrate via REST any app language that you are comfortable with will work. Shopify officially supports Ruby, Python and Node
However as #david-lazar writes you cannot directly integrate a gateway. Shopify does support dozens of payment processors so you really should look at all of those to see if one meets your needs.
If you really need your own payment processor you'll have to either
implement a Sales Channel
or intercept the checkout process and dump the cart and customer info to a custom app.
This will let you integrate your payment gateway but you'll also have to write the whole checkout. The Sales Channel app would have to go through PCI compliance certification (unless you want to use it with Stripe) and your liability insurance would probably require your custom checkout to go through it as well.
A Sales Channel would require the whole theme to be adjusted. You have to adjust: the add to cart; cart display; and checkout. The custom app would require all your checkout links to be adjusted so that the checkout process ends up at your app instead of at the standard checkout.
It's all quite doable but unless you have a compelling business reason (e.g. scheduled delivery or your own custom discount scheme) then you are way ahead finding one of the supported processors that will work with your business.
You cannot make a custom gateway for Shopify. Those days are long gone.
We wanted to make the payment gateway in which payments would be done through the bitcoin through the concept of lightning network so would it be possible to do through this???

BigCommerce Requirements to "Join the Technology Partner Program"

I want to write an app for BigCommerce.
On the BigCommerce developer website, it says
"Before you begin, you’ll need a sandbox store. BigCommerce offers app developers free sandbox stores through its Technology Partner Program. To get your sandbox store, apply to become a BigCommerce Technology Partner. To be approved as a partner, you will need:
A website.
The ability to support users of your app."
I have written code to modify themes using trial stores in the past without being a partner. (That is not what I am trying to do here, I did that in the past. I am trying to write an app, ANY app. I made the statement about modifying themes with a trial store to emphasize the fact that I know that I can do that and I am assuming that the sandbox store has other capabilities like the ability to access the control panel code.) As far as I can see, an app will need to integrate with the control panel code that I cannot see from just having a store. So, I am assuming that the sandbox store issued when approved as a partner will have this capability.
I sent an email to BigCommerce asking about the approval requirements and their reply was this.
“you must prove that you are an application developer. This consists of a website where you showcase the functionality and current companies that are possibly using your app.
If you have issue with the requirement to be approved as a partner you will need to speak with the team that does the approvals. Partnersupport#bigcommerce.com”
This reply came from appstore#bigcommerce.com. Why wasn't my email forwarded to Partnersupport#bigcommerce.com to begin with so I could get a more comprehensive answer? I did forward it to them and I am still waiting for an answer.
I am confused about this requirement.
I want to write a BigCommerce app. Are they saying that I cannot write a BigCommerce app unless I have written a BigCommerce app before? Are they saying that I have to have written other apps in general? If I write a great app, why would it matter if it is my first?
After I write the app, I can set up a webpage for it and submit it for approval.
How can I "showcase the functionality and current companies that are possibly using your(my) app" when it is an app specifically written for BigCommerce?
I cannot write the app unless I understand how to integrate it with BigCommerce.
As far as I can see, I cannot understand how to integrate it with BigCommerce unless I am a partner.
Am I missing something here?
Is there some other way to approach this?
Sr Marketplace Mgr for BigCommerce here. I think there are a few items of clarification I can offer:
You do not have to have an existing BigCommerce app to be approved for a partnership. You do however need some evidence of your existing work. If you don't have a portfolio, website, or other examples of your development work, it's difficult for our Partners team to determine if you're a qualified developer.
Partner apps will not have access to modify the BC control panel or core code. Apps must use our public APIs to work with a BC user's data or settings. Any settings that are in the CP but not in our APIs can't be modified directly via an app.
Any storefront changes - such as an edit to a BC theme to display weight in two different units - would have to be done using HTML/CSS/JS in the theme itself. We don't have an API for programmatically changing a storefront theme at this time.
If any of your questions for BigCommerce involve your app or app development, you'll need to direct them to my team at appstore#bigcommerce.com. Directing questions regarding your app to partnersupport#bigcommerce.com will be forwarded to my team. That channel is primarily for questions around the Partners program in general, and won't be able to provide detailed support on the app developer program.
Hopefully this clears up some of your confusion, please reach out to me at appstore#bigcommerce.com and I'll be happy to respond myself if you need more info.
Cheers - John