Verschillende Transactie IDs bij enkele purchaseID ING iDeal

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Isac Riedje

Isac Riedje

28/09/2016 17:11:19
Quote Anchor link
Hallo allemaal,

Na een tevergeefse zoekactie op het internet voor een oplossing van het probleem waar ik tegenaan loop heb ik maar besloten om het probleem hier voor te leggen in de hoop dat ik een oplossing vind.
Ik ben van origine cobol programmeur op het mainframe en de laatste jaren hou ik me veel bezig met php. Geen OOP helaas.
Maar sinds kort heb ik voor het eerst een webshop voor mezelf gebouwd met iDeal van de ING in PhP.
Het probleem is nu:
Wanneer de klant heeft afgerekend met iDeal wordt deze teruggestuurd naar de link die ik mee heb gegeven. Hiermee ontvang ik ook de TRXID (Transactie id) van de bank waarmee ik de status van de betaling kan opvragen.
Dit Transactie id heb ik ook gekoppeld aan een uniek PurchaseID in mijn database.
Maar blijkt bij sommige betalingen dat de status op expired staat terwijl de betaling uiteindelijk succesvol is gegaan.
De eerste keer dat dit gebeurde heb ik ingelogd op mijn iDeal dashboard en kwam tot de ontdekking dat hetzelfde PurchaseID meerdere Transactie id toegewezen heeft gekregen en deze verschillen van het Transactie id die ik in de link meekreeg voor controle van de status.
Ik moet dan handmatig het Transactie id aanpassen in mijn database om de laatste status op te vragen.
Weet iemand hoe ik het allerlaatste Transactie id moet opvragen bij de bank zodat ik de laatste status ontvang?

Dit is een screenshot die ik heb gemaakt van de laatste betaling waar dit voorkwam.
Hieruit blijkt dat het PurcaseID dat ik meegeef aan de bank wel hetzelfde blijft maar dat het Transactie idniet uniek is.

Ik ben voor het eerst op dit forum dus mocht deze vraag niet hier worden gesteld, alvast mn verontschuldigingen.

Gr,
Isac.
Gewijzigd op 28/09/2016 17:12:16 door Isac Riedje
 
PHP hulp

PHP hulp

28/03/2024 10:03:30
 
- Ariën  -
Beheerder

- Ariën -

28/09/2016 17:12:28
Quote Anchor link
Je plaatje linkt naar je eigen computer waar wij uiteraard niet op kunnen kijken. Gelieve deze even ergens te uploaden, zoals bijv. TinyPic.
 
Isac Riedje

Isac Riedje

28/09/2016 17:19:57
Quote Anchor link
Sorry was al aan het zoeken hoe ik het plaatje moest plaatsen.
Ik pas het meteen aan.

Afbeelding


- Ariën -:
Onnodige quote weggehaald, en link naar foto aangepast (linkte naar site i.p.v. foto)


Toevoeging op 28/09/2016 17:38:07:

Bedankt Ariën. Je kan zo zien dat ik nog onwennig ben...
Gewijzigd op 28/09/2016 17:35:44 door - Ariën -
 
Isac Riedje

Isac Riedje

07/06/2017 19:38:12
Quote Anchor link
--
 
- Ariën  -
Beheerder

- Ariën -

07/06/2017 19:42:04
Quote Anchor link
Vanwaar dit bericht? Is het al opgelost na een driekwart jaar? Of speelt het nog steeds?
Gewijzigd op 07/06/2017 20:07:40 door - Ariën -
 
Isac Riedje

Isac Riedje

07/06/2017 19:56:21
Quote Anchor link
nee jammer genoeg heb ik nog geen oplossing
 
Ben van Velzen

Ben van Velzen

07/06/2017 20:44:06
Quote Anchor link
Ik zie eerlijk het probleem niet echt. Op de returnpage is de order bekend. Dan kun je lijkt mij toch eenvoudig genoeg een nieuw transactienummer koppelen.
 
Isac Riedje

Isac Riedje

07/06/2017 21:36:04
Quote Anchor link
Hi Ben bedankt voor de reactie. De returnpage krijgt het nieuw TransactieID met de bijbehorende status terug van de bank. Maar dit nieuw TransactieID staat nog niet in mijn database waardoor de returnpage dus ook niet weet bij welk PurchaseID het hoort.

Toevoeging op 07/06/2017 22:13:11:

In mijn database leg ik de transactieID, purchaseID vast en daarmee email etc. van de klant.
Daarna start het starttransactie script van iDeal.
Zo ziet mijn starttransactie eruit
Quote:

try
{
$response = $iDEALConnector->startTransaction(
$issuerId,
new Transaction(
$amount,
$descr,
$ec,
$expir,
$purchaseID,
'EUR',
'nl'
),
$merchantReturnUrl
);

/* @var $response AcquirerTransactionResponse */
$acquirerID = $response->getAcquirerID();
$issuerAuthenticationURL = $response->getIssuerAuthenticationURL();
$transactionID = $response->getTransactionID();


Als de klant heeft betaald krijgt mijn listener.php het volgende van de bank:
Quote:
$iDEALConnector = iDEALConnector::getDefaultInstance("iDeal.conf");
try
{
$response = $iDEALConnector->getTransactionStatus($transactionID);

/* @var $response AcquirerStatusResponse */
$acquirerID = $response->getAcquirerID();
$custName = $response->getConsumerName();
$custIBAN = $response->getConsumerIBAN();
$custBIC = $response->getConsumerBIC();
$tot = $response->getAmount();
$cur = $response->getCurrency();
$ts = $response->getStatusTimestamp();
$transactionID = $response->getTransactionID();
$st = $response->getStatus();
}


Ik krijg dus alleen transactionID terug van de bank die bij mij bekend zou moeten zijn. Maar omdat ik een nieuwe waarde transactionID terugkrijg weet ik niet welke purchaseID erbij hoort.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.