11-30-2013 03:47 AM
I have this requirement :
1. User registers on our website.
2. We request user to register 1 credit card which will be later used for (auto) renewal of subscriptions. Subscriptions can be monthly,quarterly or annually.
We are doing the CC registration using hosted CIM. (Card code is mandatory and this is set in the Payment Form Fields). Therefore a Customer Profile (ID) & Customer Payment Profile (ID) get created for this user. We are capturing both these and store in our database. Since we have set the option to Cardcode mandatorily required, user has to enter the Cardcode.
3. So far so good.
4. Now we have a scheduled job which will run daily and renew the subscriptions of users which are about to expire the next day. This job uses the the Customer Profile ID & Customer Payment Profile ID of the users from our database and calls createCustomerProfileTransactionRequest to Authorize.net. We then process the response and update relevant tables in our database.
5. This works only if we supply the card code in the createCustomerProfileTransactionRequest. If we do not then we get an error.
So my questions are :
1. How do we achieve both the above at the same time ?. i.e. Have the card code field as mandatory when the user enters information in the hosted CIM popup and not supply the card code in the scheduled job which is renewing the subscriptions. Clearly the payment form field settings are also being applied to the api requests which are offline requests.
2. Assuming we do not make card code mandatory, will these transactions be approved by the card-issuing banks (even if Authorize.Net allows them) ?
3. If card codes are mandatorily required by card-issuing banks, then they will have to be captured and stored somewhere right ? Otherwise how will offline job based CC transactions take place ?
Hope someone can help me with this.
12-02-2013 03:18 PM
1)the required settings are set for both. So you would have to not set that as required.
2)As far as I know, it is not required field for the card issue bank.
3)I think authorize.net did store it because of the PCI issue.
12-03-2013 02:12 PM