VivaPayments / API

Index of Viva Wallet open source projects on GitHub.
139 stars 163 forks source link

Account blocked after testing the implementation under different conditions #2028

Closed alxalbu closed 3 years ago

alxalbu commented 3 years ago

Good morning, For account ATDS SYSTEMS INTERNATIONAL SRL I was doing the automation tests on the production environment in various scenarios - incorrect card, incorrect CV, insufficient credit, timeout ... etc.

  1. After entering the card data, the interface from 3DS would open, asking me to confirm the code received by text message at ING or from the app for Revolut. After a number of payments it started to be an automatic thing. The ls 3DS window opens for a fraction of secoond and then then closes and automatically approves the payment, both at ING and Revolut.

  2. After making tests for payments under different conditions and corectness something got blocked. After a number of succesfull test payments on the www.vintu.net app, NOW, after entering the card details, regardless of the account status, it sends me to a page that says: This order has been canceled! Payment order has been canceled by the merchant

As in the picture below WHICH I cannot attach as you do not put available an upload of documents. I mean I get to the checkout page, I insert the card (select from the list) I put CVV and it takes me to this page. I think it is a security measure, maybe I would like you to tell me what needs to be done to activate the payment again. And tell me what happens with the 3DS authorization? Why does it automatically take it as a confirmation?

Thank You, Alexandru Albu www.vintu.net

alxalbu commented 3 years ago

my ip: 109.99.49.192 2 cards blocked, one ING one Revolut, on name Alexandru Albu

alxalbu commented 3 years ago

Looks it was unblocked now. Started to work. but 3DS confirmations are not asked anymore. Does it remember websites approved before for previous payments? Can we cancel this settings with 3ds not checked? Pls solve. alx

matthewrgourd commented 3 years ago

Hi @alxalbu, checking your Viva account for today, I can see 28 transactions, 18 of which failed due to valid card issuer reasons. Please see breakdown below:

Hope this helps!

matthewrgourd commented 3 years ago

Hi @alxalbu, by the way, what type of integration are you attempting, is it Simple Checkout, Redirect or Native Checkout v2?

alxalbu commented 3 years ago

Hello, Yes, I was doing tests regarding all situations. At some moment the system didn.t ask me anymore 3DS code and in the end just that error message. There were many transactions ok as tested. Problem was that at some moment I coudln.t do anything more tries. Alexandru Albu

Mobile/Whatsapp: +40764 111 211 Skype/YM: alx_albu

On Mon, 30 Nov 2020 at 14:24, matthewrgourd notifications@github.com wrote:

Hi @alxalbu https://github.com/alxalbu, checking your Viva account for today, I can see 28 transactions, 18 of which failed due to valid card issuer reasons. Please see breakdown below: -30/11/2020 0:07:41 – Mastercard Insufficient funds (51)

  • 30/11/2020 0:09:27 – Mastercard Do not honor (05)
  • 30/11/2020 0:10:14 – Mastercard Insufficient funds (51)
  • 30/11/2020 8:37:39 – Mastercard Insufficient funds (51)
  • 30/11/2020 8:38:50 – Mastercard Insufficient funds (51)
  • 30/11/2020 9:47:04 – Mastercard Insufficient funds (51)
  • 30/11/2020 9:49:48 – Mastercard Insufficient funds (51)
  • 30/11/2020 9:59:55 – Mastercard Do not honor (05)

MastercardInsufficient funds (51) MastercardInsufficient funds (51) MastercardInsufficient funds (51)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/VivaPayments/API/issues/2028#issuecomment-735755244, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPNJD2JK2ECQBB6YOI3SBDSSOFJFANCNFSM4UHKKTUA .

matthewrgourd commented 3 years ago

@alxalbu, in answer to your follow-up query about 3DS not being asked for, is that on demo or live? On demo, we had switched that feature off while performing a fix, but now it is available again if you use the following test card number:

Long card number Issuer CVC Expiry date
5511070000000020 Mastercard Any 3 digits Any future date

On live, for smaller amounts below a certain threshold (usually around €30), most issuers don't require 3DS, but the cutoff point varies from issuer to issuer. This behaviour is similar to contactless payments made in person when you don't have to enter your PIN.

alxalbu commented 3 years ago

No, this were final tests on production. One more question: Can I see from a transaction details if it correspond to a succesfull paid transaction or to a rejected/incomplete payment transaction? From the fields I get when reading the transaction details it was not clear for me, please any hint? Alexandru Albu

Mobile/Whatsapp: +40764 111 211 Skype/YM: alx_albu

On Mon, 30 Nov 2020 at 17:41, matthewrgourd notifications@github.com wrote:

@alxalbu https://github.com/alxalbu, in answer to your follow-up query about 3DS not being asked for, is that on demo or live? On demo, we had switched that feature off while performing a fix, but now it is available again if you use the following test card number: Long card number Issuer CVC Expiry date 5511070000000020 Mastercard Any 3 digits Any future date

On live, for smaller amounts below a certain threshold (usually around €30), most issuers don't require 3DS, but the cutoff point varies from issuer to issuer. This behaviour is similar to contactless payments made in person when you don't have to enter your PIN.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/VivaPayments/API/issues/2028#issuecomment-735864282, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPNJDYKFX7KURFG67QUYQ3SSO4J5ANCNFSM4UHKKTUA .

matthewrgourd commented 3 years ago

Hi @alxalbu I believe you can find out from the transaction ID using the below call:

GET /api/transactions/{Id}

Information in the response will show whether the transaction was successful or not.

alxalbu commented 3 years ago

I wanted to know how to find out if a transaction which is reported as success:true correspond to a paid transaction or a rejected payment. Both of them are successful.

Alexandru Albu

Mobile/Whatsapp: +40764 111 211 Skype/YM: alx_albu

On Mon, 30 Nov 2020 at 18:40, matthewrgourd notifications@github.com wrote:

Hi @alxalbu https://github.com/alxalbu I believe you can find out from the transaction ID using the below call:

GET /api/transactions/{Id} https://developer.vivawallet.com/web-api-integration/payment-api/#tag/Transactions/paths/~1api~1transactions~1%7BId%7D/get

Information in the response will show whether the transaction was successful or not.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/VivaPayments/API/issues/2028#issuecomment-735900467, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPNJD5LJXOHSOKG7Y3QNILSSPDHPANCNFSM4UHKKTUA .

matthewrgourd commented 3 years ago

Hi @alxalbu, sorry, looks like you can't get the info from that API call in that case. We have the info. about failed transactions stored on our platform. You can query specific transactions directly with us on GitHub or via our live chat.

alxalbu commented 3 years ago

Maybe I was not clear. I interrogate a transaction details on your API /transactions/transactionId.

I wonder how to interrogate later on the details on a transaction I receive this for a successful payment:

{"Transactions"=>[{"Fee"=>0.0, "BankId"=>"NET_MASTER", "ParentId"=>nil, "Switching"=>false, "Amount"=>1.0, "StatusId"=>"F", "ChannelId"=>"", "MerchantId"=>"f", "ResellerId"=>nil, "InsDate"=>"2020-12-02T07:31:36.647+02:00", "CreatedBy"=>nil, "TipAmount"=>0.0, "SourceCode"=>"", "TransactionId"=>"****", "Commission"=>0.32, "PanEntryMode"=>"81", "MerchantTrns"=>"{'token':'jrtunfkwex'}", "CustomerTrns"=>"Plata pentru acces la cursul Clubului de Business si Politica SOV din data 2020-11-22 ", "IsManualRefund"=>false, "TargetPersonId"=>nil, "AcquirerApproved"=>false, "SourceTerminalId"=>80000000, "AuthorizationId"=>"194741", "TotalInstallments"=>0, "CurrentInstallment"=>0, "ClearanceDate"=>nil, "ResellerSourceCode"=>nil, "RetrievalReferenceNumber"=>"", "Order"=>{"OrderCode"=>, "ChannelId"=>"", "ResellerId"=>nil, "SourceCode"=>"", "Tags"=>["5816", "10", "1", "1", "100", "jrtunfkwex", "false"], "RequestLang"=>"en-US", "ResellerSourceCode"=>nil}, "Payment"=>{"Email"=>"guest@vintu.net", "Phone"=>"****", "ChannelId"=>"", "FullName"=>"albu alexandru", "Installments"=>0, "RecurringSupport"=>false}, "TransactionType"=>{"Name"=>"CardCharge", "TransactionTypeId"=>5}, "CreditCard"=>{"Token"=>"", "Number"=>"", "CountryCode"=>"AT", "IssuingBank"=>"Revolut Ltd", "CardHolderName"=>"*****", "ExpirationDate"=>"2024-05-31T00:00:00", "CardType"=>{"Name"=>"MasterCard", "CardTypeId"=>1}}}], "ErrorCode"=>0, "ErrorText"=>nil, "TimeStamp"=>"2020-12-02T07:31:38.1221375+02:00", "CorrelationId"=>nil, "EventId"=>0, "Success"=>true}

and a failed transaction caused by worng CVV

{"Transactions"=>[{"Fee"=>0.0, "BankId"=>"NET_MASTER", "ParentId"=>nil, "Switching"=>false, "Amount"=>1.0, "StatusId"=>"E", "ChannelId"=>"", "MerchantId"=>"", "ResellerId"=>nil, "InsDate"=>"2020-12-02T08:26:21.717+02:00", "CreatedBy"=>nil, "TipAmount"=>0.0, "SourceCode"=>"6173", "TransactionId"=>"", "Commission"=>0.0, "PanEntryMode"=>"81", "MerchantTrns"=>"{'token':''}", "CustomerTrns"=>"Plata pentru acces la cursul Clubului de Business si Politica SOV din data 2020-11-22 ", "IsManualRefund"=>false, "TargetPersonId"=>nil, "AcquirerApproved"=>false, "SourceTerminalId"=>80000000, "AuthorizationId"=>nil, "TotalInstallments"=>0, "CurrentInstallment"=>0, "ClearanceDate"=>nil, "ResellerSourceCode"=>nil, "RetrievalReferenceNumber"=>"", "Order"=>{"OrderCode"=>, "ChannelId"=>"*", "ResellerId"=>nil, "SourceCode"=>"***", "Tags"=>["5816", "10", "1", "1", "100", "jdfdzyistd", "false"], "RequestLang"=>"en-US", "ResellerSourceCode"=>nil}, "Payment"=>{"Email"=>"guest@vintu.net", "Phone"=>"0787000111", "ChannelId"=>"", "FullName"=>"albu alexandru", "Installments"=>0, "RecurringSupport"=>false}, "TransactionType"=>{"Name"=>"CardCharge", "TransactionTypeId"=>5}, "CreditCard"=>{"Token"=>"", "Number"=>"", "CountryCode"=>"AT", "IssuingBank"=>"Revolut Ltd", "CardHolderName"=>"albu alexandru", "ExpirationDate"=>"2024-05-31T00:00:00", "CardType"=>{"Name"=>"MasterCard", "CardTypeId"=>1}}}], "ErrorCode"=>0, "ErrorText"=>nil, "TimeStamp"=>"2020-12-02T08:28:53.1649715+02:00", "CorrelationId"=>nil, "EventId"=>0, "Success"=>true}

How can I see from their details which one correspond to a successful payment and which one has failed?

Cause I would like to check back to your website if the order is legit and it real status.

Alexandru Albu

Mobile/Whatsapp: Skype/YM:

On Tue, 1 Dec 2020 at 17:26, matthewrgourd notifications@github.com wrote:

Hi @alxalbu https://github.com/alxalbu, sorry, looks like you can't get the info from that API call in that case. We have the info. about failed transactions stored on our platform. You can query specific transactions directly with us on GitHub or via our live chat.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/VivaPayments/API/issues/2028#issuecomment-736624799, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPNJD5EJ7OZFYCATMWUARTSSUDLZANCNFSM4UHKKTUA .

matthewrgourd commented 3 years ago

Hi @alxalbu, I've checked the two transaction IDs mentioned above and here is the success / failure info.

However, we shouldn't really be publishing this info on a public forum so I will now have to replace any confidential info. with asterisks.

alxalbu commented 3 years ago

Hi Matthew, I knew which one si good and which one is rejected. I wanted to know IF from transaction details is there any field which sais that the specific transaction is for a succeeded paid transaction or the payment failed? Any different field? Or just the callback send on route for succes or failed? Whaat if we miss a callback because of some internet problems? Can you manualy request to resend the result for some specific order?

Alexandru Albu

Mobile/Whatsapp: +40764 111 211 Skype/YM: alx_albu

On Wed, 2 Dec 2020 at 16:53, matthewrgourd notifications@github.com wrote:

Hi @alxalbu https://github.com/alxalbu, I've checked the two transaction IDs mentioned above and here is the success / failure info.

  • fc6bd7a0-0373-475c-90a6-664fdeeac5f3 – Mastercard Approved (00)
  • fc6bd7a0-0373-475c-90a6-664fdeeac5f3 - Mastercard Do not honor (05)

However, we shouldn't really be publishing this info on a public forum so I will now replace any confidential info. with asterisks.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/VivaPayments/API/issues/2028#issuecomment-737279256, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPNJD45APTYLDTULHGWW6DSSZIFJANCNFSM4UHKKTUA .

matthewrgourd commented 3 years ago

Hi @alxalbu, yes, the Correlation Id (if there is one) or transactionID can be given to us for us to check this type of info. But as far as I'm aware it isn't available publicly.

alxalbu commented 3 years ago

What if we miss a callback because our server is flooded or some other internet problems at that moment? The user pays, is redirection to our page but his net dies ro our server goes down, etc...callback is not received. How can I find out from an order: I can read transactions with api:

https://www.vivapayments.com/api/transactions/?orderCode=#{orderCode}

I can get an array containing one transaction. I read the transaction details. How can I say if that transaction correspond to a paid transaction or to a rejected one? I need to update my databases later on. Thanks,

Can we request info regarding an order

Mobile/Whatsapp: +40764 111 211 Skype/YM: alx_albu

On Wed, 2 Dec 2020 at 18:19, matthewrgourd notifications@github.com wrote:

Hi @alxalbu https://github.com/alxalbu, yes, the Correlation Id (if there is one) or transactionID can be given to us for us to check this type of info. But as far as I'm aware it isn't available publicly.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/VivaPayments/API/issues/2028#issuecomment-737336700, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPNJD3QOSZARWU5YK63IFDSSZSI7ANCNFSM4UHKKTUA .

matthewrgourd commented 3 years ago

Hi @alxalbu, after performing the call you mention, if you check in the response parameters there should be a statusId parameter. If this returns a value of E this means "The transaction was not completed because of an error" as described on our Transaction parameters page in the Viva Wallet Developer Portal. F means the transaction was completed successfully. Hope this helps!

alxalbu commented 3 years ago

Thaaaaank You.... Of course, I missed that information.

Alexandru Albu

Mobile/Whatsapp: +40764 111 211 Skype/YM: alx_albu

On Thu, 17 Dec 2020 at 16:18, matthewrgourd notifications@github.com wrote:

Hi @alxalbu https://github.com/alxalbu, after performing the call you mention, if you check in the response parameters there should be a statusId parameter. If this returns a value of E this means "The transaction was not completed because of an error" as described on our Transaction parameters https://developer.vivawallet.com/web-api-integration/transaction-parameters/ page in the Viva Wallet Developer Portal. F means the transaction was completed successfully. Hope this helps!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/VivaPayments/API/issues/2028#issuecomment-747465166, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABPNJD4O7FVNSJCI3XWSJRLSVIHJTANCNFSM4UHKKTUA .