1) create Get an Accept Payment Page
2) pay
3) Silent Post URL = [x_trans_id => 60038316969]
4) getTransactionDetails(60038316969) return refId == null
method getTransactionDetails response refId == null ?
private 'refId' (net\authorize\api\contract\v1\ANetApiResponseType) => null
01-15-2018 05:32 AM - edited 01-15-2018 05:43 AM
Are you still facing the same issue? if so, are you seeing sporadically or consistent with some specific scenarios?
-Bhavana
01-16-2018 05:34 PM
оne scenarios.
1) I send the user to the accept payment page
https://developer.authorize.net/api/reference/#payment-transactions-get-an-accept-payment-page
2) The payment gateway sends a POST request (silent Post URL), where I get [x_trans_id => 60038338753]
3) transfer to the method x_trans_id (getTransactionDetails(x_trans_id))
- all payment information is returned, but refID = null
https://developer.authorize.net/api/reference/#transaction-reporting-get-transaction-details
01-17-2018 01:04 AM - edited 01-17-2018 01:05 AM
When you are calling getTransactiondetailsResponse, make sure to pass refId in the request otherwise, by default it is not showing as it is a pass through value. However, i am following up with internal team as i expect <transRefId> column to be populated by default.
Try the following for now incase if you want refId. please see the request and response below.
-Bhavana
<getTransactionDetailsRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"> <merchantAuthentication> <name>78BZ5Xprry</name> <transactionKey>8s2F95Q7brhHd7Tn</transactionKey> </merchantAuthentication> <refId>Bhavana's test</refId> <transId>60038515728</transId> </getTransactionDetailsRequest> <?xml version="1.0" encoding="utf-8"?> <getTransactionDetailsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"> <refId> Bhavana's test </refId> <messages> <resultCode> Ok </resultCode> <message> <code> I00001 </code> <text> Successful. </text> </message> </messages> <transaction> <transId> 60038515728 </transId> <submitTimeUTC> 2018-01-17T20:30:06.84Z </submitTimeUTC> <submitTimeLocal> 2018-01-17T12:30:06.84 </submitTimeLocal> <transactionType> authCaptureTransaction </transactionType> <transactionStatus> capturedPendingSettlement </transactionStatus> <responseCode> 1 </responseCode> <responseReasonCode> 1 </responseReasonCode> <responseReasonDescription> Approval </responseReasonDescription> <authCode> CY0Z60 </authCode> <AVSResponse> Y </AVSResponse> <cardCodeResponse> P </cardCodeResponse> <authAmount> 20.00 </authAmount> <settleAmount> 20.00 </settleAmount> <taxExempt> false </taxExempt> <payment> <creditCard> <cardNumber> XXXX1111 </cardNumber> <expirationDate> XXXX </expirationDate> <cardType> Visa </cardType> </creditCard> </payment> <customer> <email> ellen@mail.com </email> </customer> <billTo> <firstName> Ellen </firstName> <lastName> Johnson </lastName> <address> 14 Main Street </address> <city> Pecan Springs </city> <state> TX </state> <zip> 44628 </zip> <country> USA </country> </billTo> <recurringBilling> false </recurringBilling> <customerIP> 10.142.8.51 </customerIP> <product> Card Not Present </product> <marketType> eCommerce </marketType> </transaction> <clientId> accept-hosted </clientId> </getTransactionDetailsResponse>
01-17-2018 04:31 PM
For all the Authorize.Net APIs, we have support for refId such that if it is passed in the request, the same refId will be seen in the response.
However, for the specific case of the APIs which create transactions, we store the refId for the particular transactions, and you can retrieve that field from the transRefId field in the getTransactionDetails response.
For your scenario:
1) I send the user to the accept payment page:
https://developer.authorize.net/api/reference/#payment-transactions-get-an-accept-payment-page
Here you also need to populate the refID parameter
2) The payment gateway sends a POST request (silent Post URL), where I get [x_trans_id => 60038338753]
3) transfer to the method x_trans_id (getTransactionDetails(x_trans_id))
- all payment information is returned, but refID = null
https://developer.authorize.net/api/reference/#transaction-reporting-get-transaction-details
The refId field, if it is passed to Authorize.Net while creating a payment transaction can be fetched from the field "transrefId" in the response to the GetTransactionDetails
Hope this helps. If it is still unclear, you can give more details about the first step in your scenario, and we can have a look at it.
01-18-2018 01:16 AM - edited 01-18-2018 01:22 AM
"The refId field, if it is passed to Authorize.Net while creating a payment transaction can be fetched from the field "transrefId" in the response to the GetTransactionDetails"
This appears to be broken in the current version of the API. transrefId is not returned, even if refId was set when creating the payment transaction. Does anyone know if it's being addressed?
Thanks
08-31-2018 03:43 PM
Yes, we are aware of the issue and have a fix ready for it. It should be out very soon.
09-03-2018 08:05 PM
That's great news! How will we know when it's out?
We've had to use a workaround in our product that we would like to remove as soon as it's not needed.
Thanks
09-04-2018 10:18 AM