Following documentation https://developer.authorize.net/api/reference/features/accept_hosted.html we are:
1. Getting token
2. Submit form with generated token to authorizenet form (redirect)
3. User proceeds payment and redirect to our page
4. We are handling webhook "net.authorize.payment.authcapture.created"
How can we combine transaction with specific order/invoice in our system? We are passing refId, transRefId, but as you see in attached response both of them are empty. We can always put "model-id" data into invoice number as this is sent with a transaction, but it is "dirty" solution that we don't want to follow. Webhook documentation also don't provide any clean solution of this case.
net\authorize\api\contract\v1\GetTransactionDetailsResponse Object ( [transaction:net\authorize\api\contract\v1\GetTransactionDetailsResponse:private] => net\authorize\api\contract\v1\TransactionDetailsType Object ( [transId:net\authorize\api\contract\v1\TransactionDetailsType:private] => 40009175822 [refTransId:net\authorize\api\contract\v1\TransactionDetailsType:private] => [splitTenderId:net\authorize\api\contract\v1\TransactionDetailsType:private] => [submitTimeUTC:net\authorize\api\contract\v1\TransactionDetailsType:private] => DateTime Object ( [date] => 2017-12-22 16:57:03.860000 [timezone_type] => 2 [timezone] => Z ) [submitTimeLocal:net\authorize\api\contract\v1\TransactionDetailsType:private] => DateTime Object ( [date] => 2017-12-22 08:57:03.860000 [timezone_type] => 3 [timezone] => UTC ) [transactionType:net\authorize\api\contract\v1\TransactionDetailsType:private] => authCaptureTransaction [transactionStatus:net\authorize\api\contract\v1\TransactionDetailsType:private] => capturedPendingSettlement [responseCode:net\authorize\api\contract\v1\TransactionDetailsType:private] => 1 [responseReasonCode:net\authorize\api\contract\v1\TransactionDetailsType:private] => 1 [subscription:net\authorize\api\contract\v1\TransactionDetailsType:private] => [responseReasonDescription:net\authorize\api\contract\v1\TransactionDetailsType:private] => Approval [authCode:net\authorize\api\contract\v1\TransactionDetailsType:private] => A6QHBQ [aVSResponse:net\authorize\api\contract\v1\TransactionDetailsType:private] => Y [cardCodeResponse:net\authorize\api\contract\v1\TransactionDetailsType:private] => P [cAVVResponse:net\authorize\api\contract\v1\TransactionDetailsType:private] => [fDSFilterAction:net\authorize\api\contract\v1\TransactionDetailsType:private] => [fDSFilters:net\authorize\api\contract\v1\TransactionDetailsType:private] => Array ( ) [batch:net\authorize\api\contract\v1\TransactionDetailsType:private] => [order:net\authorize\api\contract\v1\TransactionDetailsType:private] => net\authorize\api\contract\v1\OrderExType Object ( [purchaseOrderNumber:net\authorize\api\contract\v1\OrderExType:private] => [invoiceNumber:net\authorize\api\contract\v1\OrderType:private] => invoice-100 [description:net\authorize\api\contract\v1\OrderType:private] => ) [requestedAmount:net\authorize\api\contract\v1\TransactionDetailsType:private] => [authAmount:net\authorize\api\contract\v1\TransactionDetailsType:private] => 500 [settleAmount:net\authorize\api\contract\v1\TransactionDetailsType:private] => 500 [tax:net\authorize\api\contract\v1\TransactionDetailsType:private] => [shipping:net\authorize\api\contract\v1\TransactionDetailsType:private] => [duty:net\authorize\api\contract\v1\TransactionDetailsType:private] => [lineItems:net\authorize\api\contract\v1\TransactionDetailsType:private] => Array ( ) [prepaidBalanceRemaining:net\authorize\api\contract\v1\TransactionDetailsType:private] => [taxExempt:net\authorize\api\contract\v1\TransactionDetailsType:private] => [payment:net\authorize\api\contract\v1\TransactionDetailsType:private] => net\authorize\api\contract\v1\PaymentMaskedType Object ( [creditCard:net\authorize\api\contract\v1\PaymentMaskedType:private] => net\authorize\api\contract\v1\CreditCardMaskedType Object ( [cardNumber:net\authorize\api\contract\v1\CreditCardMaskedType:private] => XXXX1111 [expirationDate:net\authorize\api\contract\v1\CreditCardMaskedType:private] => XXXX [cardType:net\authorize\api\contract\v1\CreditCardMaskedType:private] => Visa [cardArt:net\authorize\api\contract\v1\CreditCardMaskedType:private] => [issuerNumber:net\authorize\api\contract\v1\CreditCardMaskedType:private] => ) [bankAccount:net\authorize\api\contract\v1\PaymentMaskedType:private] => [tokenInformation:net\authorize\api\contract\v1\PaymentMaskedType:private] => ) [customer:net\authorize\api\contract\v1\TransactionDetailsType:private] => [billTo:net\authorize\api\contract\v1\TransactionDetailsType:private] => net\authorize\api\contract\v1\CustomerAddressType Object ( [phoneNumber:net\authorize\api\contract\v1\CustomerAddressType:private] => [faxNumber:net\authorize\api\contract\v1\CustomerAddressType:private] => [email:net\authorize\api\contract\v1\CustomerAddressType:private] => [firstName:net\authorize\api\contract\v1\NameAndAddressType:private] => Michal [lastName:net\authorize\api\contract\v1\NameAndAddressType:private] => Tajchert [company:net\authorize\api\contract\v1\NameAndAddressType:private] => [address:net\authorize\api\contract\v1\NameAndAddressType:private] => Address [city:net\authorize\api\contract\v1\NameAndAddressType:private] => City [state:net\authorize\api\contract\v1\NameAndAddressType:private] => pomorskie [zip:net\authorize\api\contract\v1\NameAndAddressType:private] => 84104 [country:net\authorize\api\contract\v1\NameAndAddressType:private] => ) [shipTo:net\authorize\api\contract\v1\TransactionDetailsType:private] => [recurringBilling:net\authorize\api\contract\v1\TransactionDetailsType:private] => [customerIP:net\authorize\api\contract\v1\TransactionDetailsType:private] => 10.141.8.51 [product:net\authorize\api\contract\v1\TransactionDetailsType:private] => Card Not Present [entryMode:net\authorize\api\contract\v1\TransactionDetailsType:private] => [marketType:net\authorize\api\contract\v1\TransactionDetailsType:private] => eCommerce [mobileDeviceId:net\authorize\api\contract\v1\TransactionDetailsType:private] => [customerSignature:net\authorize\api\contract\v1\TransactionDetailsType:private] => [returnedItems:net\authorize\api\contract\v1\TransactionDetailsType:private] => Array ( ) [solution:net\authorize\api\contract\v1\TransactionDetailsType:private] => [emvDetails:net\authorize\api\contract\v1\TransactionDetailsType:private] => Array ( ) [profile:net\authorize\api\contract\v1\TransactionDetailsType:private] => [surcharge:net\authorize\api\contract\v1\TransactionDetailsType:private] => [employeeId:net\authorize\api\contract\v1\TransactionDetailsType:private] => [tip:net\authorize\api\contract\v1\TransactionDetailsType:private] => ) [clientId:net\authorize\api\contract\v1\GetTransactionDetailsResponse:private] => accept-hosted [transrefId:net\authorize\api\contract\v1\GetTransactionDetailsResponse:private] => [refId:net\authorize\api\contract\v1\ANetApiResponseType:private] => [messages:net\authorize\api\contract\v1\ANetApiResponseType:private] => net\authorize\api\contract\v1\MessagesType Object ( [resultCode:net\authorize\api\contract\v1\MessagesType:private] => Ok [message:net\authorize\api\contract\v1\MessagesType:private] => Array ( [0] => net\authorize\api\contract\v1\MessagesType\MessageAType Object ( [code:net\authorize\api\contract\v1\MessagesType\MessageAType:private] => I00001 [text:net\authorize\api\contract\v1\MessagesType\MessageAType:private] => Successful. ) ) ) [sessionToken:net\authorize\api\contract\v1\ANetApiResponseType:private] => )
12-27-2017 12:28 AM
After hours of debugging, it is more about adding information to payload like: marchentOrderId
12-27-2017 10:25 AM
I am unable to check transaction details as our system allows to handle multiple tenants and every tenats can set their own keys for transaction. So when Payload comes I need to know what order is it assign to get proper keys assigned fo that tenant.
I need some id to link it to transaction
12-27-2017 10:31 AM