#Kade
1 messages ยท Page 1 of 1 (latest)
๐ How can I help?
We are currently testing the actual payment with the Stirpe Pos_E model.
There is a shape where you can tag on the top, can I pay with Samsung Pay here?
Samsung Pay is supported. You may refer to the doc here: https://support.stripe.com/questions/stripe-terminal-support-for-apple-pay-google-pay-samsung-pay-or-contactless-cards
Ah . I see.
If so, when I pay with my card, the card decline appears on the device, but there is no change like payment failure on the Dashboard's payment, and it keeps saying incomplete.
Stripepos E has changed to a home screen, so how do I get the price for cancellation or rejection of this payment?
Which integration type are you using? SDK or server-driven integration?
I use server-driven integration
Can you share an example payment intent ID (pi_xxx) that the reader showed payment failure whereas the PI still remains incomplete?
pi_3NZlWvLOsQno84zQ0J1UOnml
this payment still incomplete
when i try that payment,
reader show Card Decline
In Events and logs section of https://dashboard.stripe.com/payments/pi_3NZlWvLOsQno84zQ0J1UOnml, it showed "Your card's expiration year is invalid." error: https://dashboard.stripe.com/logs/req_qZSu5UxuY7vCk4
That's why the payment is incomplete as the payment is failed. Customer has to pay with another payment method
I wrote down the code for the success and failure of the payment as follows.
When the card fails as shown above,
Some card_error value will come to a null value.
Should I receive the payment failure value as below in a different way?
// PaymentIntent ์กฐํ
var service = new PaymentIntentService();
var paymentIntent = service.Get(paymentId);
// ๊ฒฐ์ ๊ฐ ์ฑ๊ณตํ๋์ง ํ์ธ
if (paymentIntent.Status == "succeeded")
{
// ๊ฒฐ์ ์ฑ๊ณต ์ฒ๋ฆฌ ๋ก์ง
MessageBox.Show("๊ฒฐ์ ๊ฐ ์ฑ๊ณตํ์ต๋๋ค!");
// ์ถ๊ฐ๋ก ํ์ํ ๋ก์ง์ ์์ฑํ์ธ์.
}
else if (paymentIntent.Status == "canceled")
{
MessageBox.Show("๊ฒฐ์ ๊ฐ ์ทจ์๋์์ต๋๋ค!");
}
if (paymentIntent.LastPaymentError != null)
{
if (paymentIntent.LastPaymentError.Type == "card_error")
{
if (paymentIntent.LastPaymentError.Code == "blocked")
{
MessageBox.Show("์์ฌ๋๋ ์ฌ๊ธฐ๋ก ์ธํด ๊ฒฐ์ ๊ฐ ์ฐจ๋จ๋์์ต๋๋ค.");
}
else if (paymentIntent.LastPaymentError.Code == "card_declined")
{
MessageBox.Show("์นด๋ ๋ฐ๊ธ์ฌ์ ์ํด ๊ฑฐ์ ๋์์ต๋๋ค.");
}
else if (paymentIntent.LastPaymentError.Code == "expired_card")
{
MessageBox.Show("์นด๋์ ์ ํจ๊ธฐ๊ฐ์ด ๋ง๋ฃ๋์์ต๋๋ค.");
}
else
{
MessageBox.Show("๊ธฐํ ์นด๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.");
}
}
}
From https://dashboard.stripe.com/payments/pi_3NZlWvLOsQno84zQ0J1UOnml, it looks like Stripe only returned error at the reader, but didn't return in the server response or Webhook event. I can't see any way that you can retrieve the failure information with server-driven integration.
Can I suggest you to write in to Support https://support.stripe.com/contact with the example payment intent ID (pi_3NZlWvLOsQno84zQ0J1UOnml), so that we can check with relevant team?
Of course!
The code below is the code I make the payment for.
When I do the following, can you tell me why Samsung Pay is not working on the tagger?
StripeConfiguration.ApiKey = ""; // TestApi
var options = new PaymentIntentCreateOptions
{
Currency = "CAD",
PaymentMethodTypes = new List<string> { "card_present" },
CaptureMethod = "manual",
Amount = 1000,
};
var service = new PaymentIntentService();
var paymentIntent = service.Create(options);
// PaymentIntent์์ Payment ID ๊ฐ์ ธ์ค๊ธฐ
paymentId = paymentIntent.Id;
var options2 = new ReaderProcessPaymentIntentOptions { PaymentIntent = paymentId };
/*var service2 = new Stripe.TestHelpers.Terminal.ReaderService();
service2.PresentPaymentMethod("tmr_FL2VwvRQoOaU8M");*/
var service2 = new ReaderService();
service2.ProcessPaymentIntent("tmr_xxx", options2);
Did you perform samsung pay in pi_3NZlWvLOsQno84zQ0J1UOnml?
In https://dashboard.stripe.com/payments/pi_3NZlvFLOsQno84zQ078QQd2t, the card issuer responded to Stripe that the card number is correct
It's not about Samsung Pay, but the card issuer declined the payment with above error
At first, I set the capture mode to automatic, so Samsung Pay was not working.
After that, when I tested it after changing to manual, card declined occurred.
At first, I set the capture mode to automatic, so Samsung Pay was not working.
Do you have an example payment intent?
But 3 hours ago, I successfully paid at the convenience store with the above Samsung Pay.
After that, when I tested it after changing to manual, card declined occurred.
The decline was from the card issuer. Stripe has no control over why the card issuer declined the payment
var options = new PaymentIntentCreateOptions
{
Currency = "CAD",
PaymentMethodTypes = new List<string> { "card_present" },
CaptureMethod = "manual",
Amount = 1000,
};
this is payment intent.
is this right?
But 3 hours ago, I successfully paid at the convenience store with the above Samsung Pay.
Card issuer has its own logic to determine whether the payment should be approved. Stripe has no visibility how the card issuer determines the approval. I'd recommend checking with the card issuer why this payment was declined
The payment intent creation request looks correct to me
Ok. I i will check.