hps / heartland-php

Heartland Payment Systems Payment Gateway PHP SDK
https://developer.heartlandpaymentsystems.com/SecureSubmit/
GNU General Public License v2.0
25 stars 23 forks source link

How can I get the transactions Batch Numbers and Batch Status? #36

Closed fhferreira closed 6 years ago

fhferreira commented 6 years ago

I need to get the batch numbers and status to integrate with "Quickbooks"

slogsdon commented 6 years ago

Hi @fhferreira! Apologies for the delay.

The transaction status can be obtained through the HpsCreditService::get method. There's a transactionStatus property that maps to the transaction status indicators listed here: https://cert.api2.heartlandportico.com/Gateway/PorticoDevGuide/build/PorticoDeveloperGuide/webframe.html#Status%20Indicators.html.

We are not currently including any batch information for transactions nor any batch reporting options. If you're needing this data on your end, you should be able to fork the SDK to make any adjustments.

To get the authorization transaction's batch information (if present), you would need to modify the response parsing in the SDK to look for two additional response fields in the header: BatchId and BatchSeqNbr. You can find more about these fields here: https://cert.api2.heartlandportico.com/Gateway/PorticoSOAPSchema/build/Default/webframe.html#Portico_xsd~e-PosResponse.html.

For the batch reports, our gateway exposes three options: ReportBatchDetail, ReportBatchHistory, and ReportBatchSummary. You can find information on the request/response formats for these requests here: https://cert.api2.heartlandportico.com/Gateway/PorticoDevGuide/build/PorticoDeveloperGuide/webframe.html#Report%20Transactions.html.

fhferreira commented 6 years ago

@slogsdon have you some example of it using the PHP Library?

slogsdon commented 6 years ago

@fhferreira I can only provide an example of getting the transaction status (see below) as the other items I discussed above are not currently available in this SDK.

Get transaction status

$config = new HpsServicesConfig();
// set necessary configuration
$service = new HpsCreditService($config);

$transactionDetails = $service->get($authorizationTransactionId);
error_log($transactionDetails->transactionStatus);
fhferreira commented 6 years ago

Oh @slogsdon, thank you, I need something to take the Batch and the "income taxes" charged on each transaction

slogsdon commented 6 years ago

@fhferreira As noted above, this SDK does not currently expose any batch information. If you need this, you'll want to take one of the steps I outlined as we do not have plans to add batch information currently.

Our payment gateway's API does not expose any features for working with income taxes. If you need to work with sales taxes, that should be exposed through the SDK and our payment gateway as taxAmount (SDK side) or TaxAmount (gateway side).