Hi Al, To meet PCI Compliance standards i am not saving card data on local db. I created card on AuthorizeNet servers and i have CardID returned from API. I need to Authorize a transaction but AuthorizeNet Authorization class demands following parameters:
Dim Obj as new AuthorizeNet.AuthorizationRequest(CardNumber, ExpMonthYear, Amount, Description, IncludeCapture)
I don't have credit card number and Expiry date saved and when i use to get a card it returns only last 4 digits of card number what to do?please help me out , how can i authorize a transaction without using card number and expiry?
Reply ASAP.
faheem
faheemsial@gmail.com
โ12-23-2013 11:52 PM
look like you might be using CIM, documentation is here
But they have profileID, and paymenprofileID, not cardID. Can you tell us which method you call to get the CardID?
โ12-24-2013 05:40 AM - edited โ12-24-2013 05:42 AM
I am using AuthorizeNet.dll and I followed 3 steps:
1. Created Customer Profile using:
Dim Cust As New AuthorizeNet.CustomerGateway(YOUR_API_LOGIN_ID, YOUR_TRANSACTION_KEY, Service_Mode)
Return Cust.CreateCustomer(CustomerEmail, Description)
it returend Customer's ProfileID.
2. Using that Customer's ProfileID i created its payment profile:
Dim Cust As New AuthorizeNet.CustomerGateway(YOUR_API_LOGIN_ID, YOUR_TRANSACTION_KEY, Service_Mode)
Dim cRsp As String
If Not BillAddress Is Nothing Then
cRsp = Cust.AddCreditCard(CustomerProfileID, CustomerCardNumber, ExpMonth, ExpYear, CardCode, BillAddress)
Else
cRsp = Cust.AddCreditCard(CustomerProfileID, CustomerCardNumber, ExpMonth, ExpYear, CardCode)
End If
Return cRsp
From above call i got PaymentProfileID, which i saved into my database, i have saved only that cardID nothing else e.g. CreditCardNumber/ExpMonth/ExpYear/CardCode none of them.
Now i need to do Authorize/Capture/AuthNCapture/Refund transactions but most of them requires CardNumber/Expiration which i don't have, infact i can't save that as per our PCI Compliance standards and company Policy. Please guide me how can i achive above transactions withour card data? i have CustomerProfileID and CardID/PaymentProfileID only.
Thanks for help.
Faheem
โ12-25-2013 10:57 PM
As i mentioned at starting post that i am using call below to perform Authorize transaction:
Dim Obj as new AuthorizeNet.AuthorizationRequest(CardNumber, ExpMonthYear, Amount, Description, IncludeCapture)
i also have other option in API to use card present call but that required (Track1, Track2) which i dont have too .... please advise.
โ12-25-2013 11:00 PM
You are using the wrong AuthorizationRequest, that one is from AIM.
need to do something like
Dim Cust As New AuthorizeNet.CustomerGateway(YOUR_API_LOGIN_ID, YOUR_TRANSACTION_KEY, Service_Mode) Cust.AuthorizeAndCapture(profileID, paymentProfileID, amount);
โ12-26-2013 05:00 AM