I'm merchants using it payment api.
I had completed the sandbox sample.
It was confirmed that payment in the sandbox account.
But suddenly it is not working. Program code is not changed.
`"error : This transaction is invalid.
Please return to the recipient's website to complete your transaction using their regular checkout flow."`
A "sandbox" is not working.
But it works if i switch to "live".
I have to test more than 20 days in the same way.
Suddenly, should not I do not know why. :(
See the following (approval_url)
{ id: 'PAY-3YF970037H573622HK7QOABY',
intent: 'sale',
state: 'created',
payer: { payment_method: 'paypal' },
transactions:
[ { amount: [Object],
description: 'This is the payment description.',
custom: '1',
item_list: [Object],
related_resources: [] } ],
create_time: '2016-09-20T07:06:46Z',
links:
[ { href: 'htt ps://api.sandbox.paypal.com/v1/payments/payment/PAY-3YF970037H573622HK7QOABY',
rel: 'self',
method: 'GET' },
{ href: 'htt ps://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-8W611604UP656490X',
rel: 'approval_url',
method: 'REDIRECT' },
{ href: 'htt ps://api.sandbox.paypal.com/v1/payments/payment/PAY-3YF970037H573622HK7QOABY/execute',
rel: 'execute',
method: 'POST' } ],
httpStatusCode: 201 }
"approval_url" is not the sandbox
'execute' and 'self' are the sandbox
It has been changed point
Today error information has changed.
"error : This transaction has expired. Please return to the recipient's website to complete your transaction using their regular checkout flow."
The contents of approval_url is the same.
But it is forced to put a "sandbox" in approval_url.
paypal page(approval_url) is loaded.
This way did not work yesterday.
But it work today.
I sent e-mail to paypal echnical support.
paypal came the answer :
"
Hi
Based from the full logs, it seems that the buyer account that you used for this case is hitting a risk issue in attempting to pay for the payment.
I suggest for you to clear cookies and cache and then retry again using other sandbox account.
Thanks
"
However, it is now working fine.
So the correct answer can not be tested.
I think there is something wrong with "EC", I'm trying to follow de the REST API exmples and I get the same results...
Any one
Related
I am doing the simple integration of paypal buttons on my website, using javascript.
I got a reply, using sandbox, like this
create_time: "2020-04-22T09:23:59Z"
id: "3Y914122MY820580S"
intent: "CAPTURE"
links: [{…}]
payer:
address: {country_code: "IT"}
email_address: "sb-yuz43i687312#personal.example.com"
name: {given_name: "John", surname: "Doe"}
payer_id: "PAV4AZG5BTYE2"
purchase_units: [{…}]
status: "COMPLETED"
update_time: "2020-04-22T09:24:23Z"
Also, opening the links array, I have only the following, with same id
"https://api.sandbox.paypal.com/v2/checkout/orders/3Y914122MY820580S"
But, opening the sandbox dashboard of receiving paypal acocunt i see this
How can I associate the checkout id 3Y914122MY820580S with the transaction id 289895873G149713E ?
I have the need to save into db something to be able to verify the paypal transaction in a future moment.
I discovered the code I need more deeply nested.
Having json_result the json data returned from Paypal, in cas of success, of course, the Id of payment can be found at
json_result->purchase_units[0]->payments->captures[0]->id
It can be succesfully used in a link of type
https://www[.sandbox].paypal.com/activity/payment/<id>
So merchant can easily see transaction details
I am using the orders version 2 APIs of Physical transaction using Google Pay and using Stripe as the payment gateway.
While testing the app using Stripe test publishable I am able to make transactions successfully but when I use the Stripe Live publishable key to generate the chargeable token from Google, the assistant replies with "Something went wrong. Please try again later.". This is happening when I make the conv.ask(new TransactionDecision({})) call.
I get the same response using either of the keys when I disable the Sandbox in the action console simulator.
This response has no error attached with it so I am unable to figure out the cause.
Here is the code-
conv.ask(new TransactionDecision({
orderOptions: {
requestDeliveryAddress: false,
},
paymentOptions: {
googleProvidedOptions: {
prepaidCardDisallowed: false,
supportedCardNetworks: ['VISA', 'AMEX', 'MASTERCARD'],
tokenizationParameters: {
// Tokenization parameter data will be provided by
// a payment processor, like Stripe, Braintree, Vantiv, etc.
parameters: {
'gateway': 'stripe',
'stripe:version': '2019-05-16',
'stripe:publishableKey': process.env.CS_ENV === 'prod' ? process.env.STRIPE_LIVE_PUBLISHABLE_KEY : process.env.STRIPE_TEST_PUBLISHABLE_KEY
},
tokenizationType: 'PAYMENT_GATEWAY',
},
},
},
proposedOrder: order,
}));
I set developed my own site that sells items with a shopping cart. When items are selected, a call is made to paypal's api to create a payment request, then to complete the payment. Seems to work fine with sandbox mode, but with live setting I get the following response :
{ [Error: Response Status : 400]
response:
{ name: 'VALIDATION_ERROR',
details: [ [Object] ],
message: 'Invalid request - see details',
information_link: 'https://developer.paypal.com/docs/api/#VALIDATION_ERROR',
debug_id: 'f8dbb7c22fdf2',
httpStatusCode: 400 },
httpStatusCode: 400 }
I was wondering if someone out who has worked with paypal's api to give me some advice.
Thanks!
The error looks something like this
request.post({
url: 'https://api.venmo.com/v1/payments',
form: {
access_token: 'xxxxxxxxxxxxxxxxxxxxxx',
email: req.body.email,
note: 'Payment of ' + req.user.coins + ' coins',
amount: (req.user.coins * coin_price),
audience: 'public',
confirm: true
}
}, function(err, httpResponse, body) {
console.log(err, body)
} )
and the json response looks like this
{"error": {"message": "Please confirm whether you would like to pay a fee on this transaction", "code": 1396}}
I feel this is because on my account I have a credit card that requires a 3% fee. But I am fine with it. Is there a way I can auto accept this?
The documentation is here: Venmo payments
I work at Braintree, same company as Venmo. If you have more questions, you can always reach out to the Venmo support team.
That error occurs when you don't have a default funding source set, and the only funding source available is your credit card. Setting any default funding source (card or otherwise) will fix the problem. Its purpose is to prevent you accidentally incurring fees.
Thanks for reporting the undocumented error, we'll add it. We'll also update the error message to be more clear.
I am using the Paypal PHP REST API SDK, but I can reproduce the problem using curl too. I am able to get a token without a problem. This only occurs when I'm submitting a live payment. I can switch to sandbox and submit an identical payment successfully.
As you can see below this is a very basic payment. I don't see how there could possibly be a problem with the information being submitted.
I have no shortage of debug IDs since this happens every time, but here is the last one I got: 049eee254433f
{
"intent":"sale",
"payer":{
"payment_method":"credit_card",
"funding_instruments":[
{
"credit_card":{
"type":"visa",
"number":"(removed)",
"cvv2":"(removed)",
"expire_month":"1",
"expire_year":"2016",
"first_name":"(removed)",
"last_name":"(removed)"
}
}
]
},
"transactions":[
{
"amount":{
"total":"11.98",
"currency":"USD"
}
}
]
}
The issue, according to the debug ID, is that you are not sending the billing address along with the card information. The option to include/not include the billing address with your request is based upon your merchant account setup. In order to rectify the above error, please provide the billing address in your request.
https://developer.paypal.com/webapps/developer/docs/api/#creditcard-object