How to solve this issue Transaction Issue in Dialogflow? - dialogflow-es

When I submit my Action for review, it is rejected with the note "Your Action expressly directs users to a website, phone number, mobile app or alternative payment method to complete a transaction."
I am creating a virtual assistant for University that online provides payment of fees in an offline mode not in online mode. I will be very grateful if you guide and help me more on this.

If you are trying to do payment transactions for an Action, you need to use the Transactions API or Digital Purchase API that is provided by Google. You're not allowed to implement your own transaction/payment system.

Related

paypal payment without checkout flow

I am going to build an eCommerce website that supports PayPal.
Buyers connect their PayPal account to the website before they get products.
The website should collect funds without a normal checkout flow whenever buyers buy products.
For this, I've researched the Permissions Service API on PayPal.
But, I can't find enough descriptions to build such a website.
I would like to know how to integrate PayPal for this.
What you are looking for is a "Reference Transactions" solution. It can be tested in sandbox, but to use it in live, the business account would need to be approved for this feature by PayPal. To do this the account owner would need to contact their PayPal account manager or PayPal's general customer support (not MTS), and explain the business need for this feature.
As far as implementing the solution, the only public documentation I'm aware of is for classic APIs: https://developer.paypal.com/docs/classic/express-checkout/ec-set-up-reference-transactions/ . Any newer API or vault solution does not appear to be publicly available at this time, but you could always contact PayPal's support and ask if there's something they'd rather you implement than those classic APIs. The more significant hurdle is the business approval for the feature mentioned earlier.

API to change the credit card used by a google wallet subscription?

Again I am frustrated by the lack of documentation involved in developing using Google Wallet as a payment gateway and I may switch to another service.
My new question is as follows:
Can I programmatically change the payment card utilized by a Google Wallet for digital goods subscription?
If a card utilized in a subscription expires, that is on the user, However, If I do not provide a means of changing the payment card elegantly, that is on me!
Does anyone know how this can be done? Or would I have to create a whole new subscription to produce this effect? This should be a basic feature of any payment gateway so I am assuming that I am missing something.
It should also be noted that creating a new subscription may be problematic without an ability to cancel the previous subscription via the API. Provided that both the old and new cards are still valid, it would attempt to process the payments for both subscriptions!
On a side note, why does it seem that the Google Wallet API is missing so many key features? (annual subscriptions, subscription cancellation, the issue mentioned above, etc...?)
Thanks again everyone!
If Google can't successfully charge, they'll send you a failure postback which you can use to evaluate what to do with the subscription.
It would be best if you don't equate Wallet to a "payment gateway" (or credit card processing service/gateway) because it isn't.
At the end of the day, Wallet basically gives you some "access" to a Wallet User's data. It's up to the Wallet users' to add/remove whatever payment instruments they have in their Google Wallet.
in Wallet for Digital, Google also handles the transaction - the processing part, so you're freed of any PCI compliance, and related payment infrastructure to get stuff going.
Instant Buy, Google will send you a "virtual card" for you to process the transaction using your own/existing credit card processor/gateway. In this case, you do have to be PCI compliant and have existing infrastructure.
In both cases, you don't have access to the actual Wallet users' payment data. Google locks that stuff down.
Hth....

Google wallet integration in android

In the poc given by Google, it is not mentioned about the payment process. Where will the stipulated amount be transferred? There is no way to add the seller's details.
Will google wallet save only our card details and we must use getFullWallet() and use the details to continue process by using another third party payment gateway?or it will handle all the transactions? if so, where can we give seller details in the code?
Any POC on complete google wallet usage will be very much helpful as I couldn't understand the flow in the sample provided.
As in the sample the currency is converted to dollars, is that the case always?
What if I have a card and it is not internationally valid?
A piece of simple code is appreciated.
After getting fullwallet how can we use that to send details to merchant's account?
Will Google Wallet act as payment gateway?
After researching, I found out that Google-Wallet as its name suggests acts as our personal digital wallet and will not be involved in any of the payment gateway process. After fetching the details from Google-Wallet i.e..,getFullWallet() we can send these details to our server which implements the payment gateway on its side.

Google wallet API Integration questions

I am new to integrate Google Wallet and there are some confusion and questions related to that given below:
Is it possible to add multiple items for Google wallet?
How to handle discount by API?
What's the parameter in JWT response on postback URL for success and failure transaction?
Is refund functionality available for a transaction by API call?
Anyone have idea about this. Thanks in advance.
Can you clarify which specific API (Instant Buy or Wallet for Digital)?
Is it possible to add multiple items...
Digital - no, you can however "bundle", see this post for clarification.
Instant Buy - it's just a "layer" on top of your (pre) existing purchase/ordering processes and handles (just) the payment data of a Google Wallet user. The "order details" is something you control. See sample of data you send.
Discounts by API
By API - no. You can pass whatever (pre-calculated) value in both APIs.
Success vs. Failure Postback
Digital - Google will only send HTTP Post to your server URL on successful transaction. See #5: "Google sends an HTTP POST message to the postback URL whenever a purchase completes..."
Instant Buy - not relevant. You are processing the transaction, unlike in Digital where Google is. Instant Buy in a nutshell provides your web site, secure access to a Google Wallet user's data. You need to have your own merchant account/processor, be PCI compliant, etc. That said, you will have the success or failure info that you actually have to send to Google - they need to know if you have successfully processed or not (yup, it's the other way around).
Refund by API
By API - Unless a Googler says otherwise, AFAIK, not at this time, for both APIs.
On that note, for Instant Buy, it's actually unclear to me how to "inform Google" when performing a credit or refund. Its still a "private API" (not GA) so I actually haven't seen its "guts". It's understood that since the merchant uses their own processor that a credit/refund is the same procedure, but letting Google "know" about it (days/weeks after the fact) is something I personally have no actual info on..sorry...I can assume some "button" in merchant center for Instant Buy, but that's just a guess....
Hth....
W.r.t InstantBuy Refunds:
The Refund happens on the virtual one time card that is returned by the Google API. The refund on the card can be done by using any backend payment processor. Once the refund is made to the card, it hits the user's backing card.

Online Reservation and Payment System

we created an online reservation and payment system, we are going to use paypal to pay for the reservation fee.
how do we exactly save the information of our customer and reservation info to our database, after confirming their payment.
how do we confirm that they also paid it?
thanks in advance. as of now we're using the 'pay now' button
You should save the info to the database FIRST, then they can go to the PayPal site. After that, you can use Instant Payment Notification to mark the order as complete.
https://www.paypal.com/ipn
Paypal provide different methods to make payment; you can redirect user to PayPal from your application without taking customer information (e.g. name, phone, email). PayPal API is rich with multiple set of methods like SetExpressCheckOut, GetExpressCheckOut, DoExpressChckOut.
First please make a contract with PayPal and get the Merchant information; later you can have detailed documented API to talk to them.
Thank you

Resources