-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gift Card Processing configuration help #1209
Comments
You'll have to change this function to be aware of the gift terminal ID Most concise option would be to adjust It might be more readable to separate it out though into something like this: if ($tranType == 'PrePaid' && strlen($this->conf->get('MercuryGiftID')) > 0) {
$termID = $this->conf->get('MercuryGiftID');
} |
Thanks! I tried a couple variations on this approach. Including a discrete conditional statement. A nested conditional, and then just no conditional at all. Interesting results: I got a NEW error message: "No Usable Track2 Found in Message." However, the MID is unchanged, regardless of what I put into the GiftTerminalID field. but also the block is missing, the 11/15/2023 3:06:19 PM (send pdc): <?xml version="1.0"?>
<TStream>
<Transaction>
<MerchantID>00123456</MerchantID>
<TerminalID>00000001</TerminalID>
<OperatorID>1</OperatorID>
<LaneID>2</LaneID>
<InvoiceNo>111000000000000</InvoiceNo>
<RefNo>111000000000000</RefNo>
<Memo>CORE POS 1.0.0</Memo>
<RecordNo>RecordNumberRequested</RecordNo>
<Frequency>OneTime</Frequency>
<Amount>
<Purchase>0.01</Purchase>
</Amount>
<MaxTransactions>50</MaxTransactions><OfflineTransactionPurchaseLimit>500</OfflineTransactionPurchaseLimit><ResponseTimeout>24</ResponseTimeout><TranCode>NoNSFSale</TranCode> <SecureDevice>INGENICOLANE8000_RAPIDCONNECT_E2E</SecureDevice> <ComPort>9</ComPort> <CollectData>CardholderName</CollectData> <Account> <AcctNo>SecureDevice</AcctNo> </Account> <TranType>PrePaid</TranType><IpPort>9100</IpPort><IpAddress>74.120.158.37</IpAddress>
</Transaction>
</TStream>
11/15/2023 3:06:19 PM (recv pdc): <?xml version="1.0"?>
<RStream>
<CmdResponse>
<ResponseOrigin>Client</ResponseOrigin>
<DSIXReturnCode>003394</DSIXReturnCode>
<CmdStatus>Error</CmdStatus>
<TextResponse>No Usable Track2 Found in Message.</TextResponse>
<UserTraceData></UserTraceData>
</CmdResponse>
</RStream> |
That does have No usable track 2 means a bad magstripe read and ResponseOrigin client means it didn't submit anything to the processor. Presumably on a good swipe the processor response would still complain about the MID. |
Hi, I've finally picked this issue up from Joel, and have moved it forward some. Per the changes suggested above to prepareDataCapBalance(), I didn't see the gift card merchant ID in the xml logs, so I dug deeper. I hypothesised that pDCB() might only be called for a balance inquiry, and I saw the need to adjust the code slightly to handle merchantID strings that end in "::" as both the normal and gift merchant IDs do in this case. I also thought I saw a code path through prepareDataCapGift () based on the xml log showing the g1.mercurypay.com IP address despite having the non-gift merchant ID. That path would not have been affected by the change in prepareDataCapBalance(), so I went to replicate the change there only to find pDCG() was using beginXmlRequest() to set up the values. bXR() is pulled in from MercuryE2E.php, so I adjusted that method to note if a gift card was in use and use the gift merchant ID instead of the normal one. That brings me to my first question, is it safe in this instance to modify MercuryE2E.php or should I dup beginXmlRequest() in MercuryDC.php? Secondly, both the changes took effect, see below, the first, InvoiceNo ...9006 is the balance inquiry with TranCode Balance and the 5..5 gift Merchant ID, and the third, InvoiceNo ...9008 which was supposed to be a gift card charge, TrandCode Issue, also has the 5..5 gift Merchante ID. However, between the two there was a third XML (send pdc), InvoiceNo ...9007, also with a TranCode Issue and the g1.mercurypay.com IP address, but with the 004..2 non-gift merchant ID. So my second question is, it appears there's a third path that's engaged somehow, perhaps one of prepareDataCap{Auth,Void,Wic}()? And my third question is, the balance inquiry and second TranCode:Issue should have gone through but both were declined Any help much appreciated!
then
then
|
RE: modifying RE: the 2nd question: no clue whatsoever, unfortunately. None of these operations should be automatically triggering any of the other operations. RE: |
Awesome, thanks!! If I track down that second send pdc path I might ask you about it but otherwise I think I'm good to go! |
Looping back around to this again, in conversation with the Gift card solution providers, they are saying that the gateway we are using for Gift transactions, "g1.mercurypay.com" is incorrect, and in order to tell us the correct gateway to use they need to know when/how CORE POS was certified for Gift on Fiserv. Ideas? Specifically they are trying to track down a TPP, Third Party Processor ID, and looking up Tech Support Coop isn't bringing anything up. |
I don't think that it ever was. Everything I did with Fiserv was via Datacap which presumably was itself certified. |
Thanks, I relayed a version of that. Now they are saying our Datacap cert
doesn't include Gift, but they aren't sure and are asking if we think it
did. Do you recall?
…On Tue, 11 Jun 2024 at 11:09, Andy Theuninck ***@***.***> wrote:
I don't think that it ever was. Everything I did with Fiserv was via
Datacap which presumably was itself certified.
—
Reply to this email directly, view it on GitHub
<#1209 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AKH5AAHJJBCHPDKXKBDNZ5DZG4HJJAVCNFSM6AAAAABJEPW2J2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRRGAYDOMJQGQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
No, or at least I never did gift card processing with Fiserv. |
Version of CORE?
3.0.0-dev
Issue with Office, Lane, or both?
Lane
Is this [mostly] a bug report, feature request, or question?
Question.
After swiping Giftcard: ERROR MESSAGE: MerchantID Not Found
Trying to configure integrated Gift Cards using the inhouse gift cards from FirstData. The gift processor is Valuelink.
In the only other successful integration like this i've done we used the Buypass Merchant ID for both EMV and Gift Card MIDs.
However in this current case, the Buypass MID is not used for gift, and we have a different North MID for Gift Cards, 11 digits long.
I went to Install > Plugins > Paycards to update the Gift Terminal ID value there. Formatted like
::00000000
However, changes to this field dont seem to affect what is getting used as an MID on Giftcard transactions. log.xml shows the EMVTerminalID value no matter what.
So. If you followed all of that:
How can I get Paycard plugin to send different MID for Gift transactions using available tools? Is there an ini.json value i could define? Other?
Thanks!
The text was updated successfully, but these errors were encountered: