In the request data there are two values, "customer_id_type" and "customer_id_number" that are listed as required values, but where do I get this information? I am using the test data (below) for the sandbox testing and that works fine, but what would those values be for live eCheck payments? Where does customer_id_type and customer_id_number come from?
{
"method": "tele_check",
"transaction_type": "purchase",
"amount": "10",
"currency_code": "USD",
"tele_check": {
"check_number": "0101",
"check_type": "C",
"routing_number": "BN1234567801234567890",
"account_number": "17101874",
"accountholder_name": "Tom Eck",
"customer_id_type": "1",
"customer_id_number": "7623786df",
"client_email": "rajan.veeramani@firstdata.com",
"gift_card_amount": "100",
"vip": "n",
"clerk_id": "RVK_001",
"device_id": "jkhsdfjkhsk",
"release_type": "X",
"registration_number": "12345",
"registration_date": "01012014",
"date_of_birth": "01012010"
},
"billing_address": {
"street": "225 Liberty Street",
"city": "NYC",
"state_province": "NY",
"zip_postal_code": "10281",
"country": "US"
}
}
Hello,
customer_id_type can be one the following -
customer_id_number is the number on the type of identification specified in the previous property.
Thank you very much.
I have another question, with the sandbox request payload I've noticed that the response will appear successful (it will have 'transaction_status: approved') even with some of the "required" information missing.
If I send:
{
"method": "tele_check",
"transaction_type": "purchase",
"amount": "500",
"currency_code": "USD",
"tele_check": {
"check_number": "0101",
"check_type": "C",
"routing_number": "BN1234567801234567890",
"account_number": "17101874",
"accountholder_name": "Tom Eck",
},
"billing_address": {
"street": "225 Liberty Street",
"city": "NYC",
"state_province": "NY",
"zip_postal_code": "10281",
"country": "US"
}
}
I get response:
{
"correlation_id":"228.1456962079204",
"transaction_status":"approved",
"validation_status":"success",
"transaction_type":"purchase",
"transaction_id":"ET139592",
"transaction_tag":"76802348",
"method":"tele_check",
"amount":"500",
"currency":"USD",
"bank_resp_code":"100",
"bank_message":"Approved",
"gateway_resp_code":"00",
"gateway_message":"Transaction Normal",
"tele_check":{
"accountholder_name":"Tom Eck",
"check_number":"0101",
"check_type":"C",
"account_number":"1874",
"routing_number":"BN1234567801234567890"
}
}
Even though it is missing the customer_id_number and customer_id_type and client_email from the request. Are those fields really required? Will customer transactions not process properly without that information in the request? Is billing address also required?
Checking this internally. We will get back to you on this.
Regards,
Payeezy team
Any update on this?
Thanks.
Hello,
Sorry about the delay. We just received more information on this.
While the API will accept transactions without the fields - customer_id_number, customer_id_type, client_email and billing address, the API will substitute and send a blank, non-null value to the telecheck system for those fields. Now, since the telecheck system uses these fields to make approval decisions, your transactions could get declined. So it is recommended that you send the data for those fields in your transactions.
Regards,
Payeezy team
Thanks for your reply, have a good day.
Hello,
If you do not include customer_id_number and customer_id_type when you void/refund the transaction, could that cause the transaction to be declined?
Thanks
You should use the tagged void or tagged refund options. They do not require that information. Even if you submitted the tagged void or tagged refund with the 'credit_card' method (capture or reverse payment in Docs & Sandbox) it would work.