Change Alert Title In In-app-purchase - iphone

I am integrating my iPhone app with PayPal. Now I am taking fixed amount of charge for doing this transection. If user clicks on Pay by PayPal i am asking user to first make an In-app purchase. When user is doing transection for the first there won't be any problem.
But when user has already did transection before, it will display message "You have purchased this. Tap OK to download it again for free" with "Cancel" and "OK" buttons.
I think this type of message doesn't make any sense as its not for downloading app, Can i change it to something like "You have done this transection before. Tap Ok to perform next transection" with "Cancel" and "OK" buttons.
Is there any way i can give custom title or do they have any other pre-define messages for this type of transections?
Thanks In advance.

No, there is no way (nor is there a reason for there to be). Furthermore Apple will reject your app if you attempt to use PayPal to purchase an In-App download.

Related

Donation functionality in flutter

I need to implement a donation button in my app.
Initially I want to that users can enter any donation value. But if I use the InApp products in play store, I am not able to set blank values for it.
After researching I found a widget named by_me_a_coffee_wigdet, which seems that I can use for donation. However, it has an alert saying that a donation button could lead to ban my app.
So, what is the best approach to implement a donation functionality?
Is it through an InApp consumable?
How can I use an option in which users can set any value?
Regards,

PayPal smart buttons, how to always open the credit card in a new tab?

I use PayPal smart buttons for integrating payments into a website, following this live demo
I have two problems with the "Debit or Credit Card" button:
It is not always working, when I click on it, the fields are expanding and shown on the same page (my server) and after entering all the info and click "Pay Now" I get message saying "Something went wrong, we will take you back to checkout so you can try again" when I click on "Try again" button a new tab opens for processing the credit card payment on PayPal server (now it will work).
this happens ~50% of the time.
It is related to the first one, the first view (when fields expanding on my site page) it lacks the address fields however they are shown after clicking "Try again" and go to the PayPal tab.
So my question is, can I unify the way that the credit card payment view is shown? Is there a parameter that I can pass while rendering the buttons that makes it always open in a new tab?
The message "Something went wrong, we will take you back to checkout so you can try again" will happen when there is a decline. As you are apparently testing payments yourself, you can expect many such intentional declines by PayPal. They aren't considered a technical or integration problem, but the system behaving as designed.
There is no way to make the black Debit or Credit Card button open a new window. You can disable it if you don't want it, but you can't make it behave differently.
When there is an error or decline using that Debit or Credit Card path, and you click "Try again", it is the same as using the top PayPal button. That is the fallback path.

How to gracefully handle "verification required" in in-app purchases

Once in a while I see that the alert appears saying that verification is required to make a purchase.
When user taps "Continue" the AppStore opens the payment information view and after filling in the CVV it redirects user back to the app.
However at this point SKPaymentQueue reports an error saying "Cannot connect to iTunes store". The purchase automatically handles in background then.
This is a production environment and it's really hard to catch and test this kind of event and I am not able to reproduce this kind of scenario in sandbox.
Does anyone know how to gracefully handle this scenario so we don't show an error to the user?

In-App purchase , Cancel the purchase because of long processing time

I was implementing In-App purchase to my game and its working fine. No problem with the purchases and other stuffs. But today i was stuck at a weird point.
When the user tries to purchase , sometimes it takes more than a minute to get respond from Apple. (Sandbox environment).
What i want to do is just to put a cancel button in an UIAlertView , which will help the user to cancel the whole purchase. So the user can cancel the purchase, if there is a delay in Sandbox respond. How can i do this ?
I already have a UIAlertView which starts with the purchase button click and ends with the SKPaymentTransactionStatePurchased method. I want to add that cancel button to that alertview.
Confused and here is my question in short again ,
But what is the method should be called to cancel the whole In-App processes while it is on the SKPaymentTransactionStatePurchasing state ?
You cant interrupt the request once it sent. You should wait until Apple responds.

Restore previous In-App Purchases in application programmatically after install or update?

We are having the issue that the app we have has an In-App purchase that unlocks some content when it is paid.
The problem is that if you reinstall the app or update it, it will be reinstalled without the unlocked content. The customer will have to go through the buying process again and it will then tell them that they already have purchased the content. Is there any way to avoid this issue so that automatically the purchased content is provided if you have already paid for it?
We have tried asking the user for his Apple ID during launch of the app and retrieve his previous payments from that, but Apple disapproves of the practice.
I may be looking at this at a different, unconventional angle but I am really looking for a widely accepted approach for this kind of thing.
Thanks.
A "Restore Purchases" button calling restoreCompletedTransactions on SKPaymentQueue is the way to go-
We considered checking this call automatically on start, or before giving the user a price for the in-app update, but the prompt for user iTunes details which appears makes this impractical, so the button is the best solution.
For that you should simply call restoreCompletedTransactions of the SKPaymentQueue on startup. That's the way apple suggests.