700 – Start Credit Card charge (3DS Enabled)
Allows the merchant to submit a charge to the cardholder’s Credit Card and includes 3DS capability when 3DS is specified in the Merchant Agreement. (See Appendix for “3DS Explanation”).
700 Request Data description:
apiUser
YES (1)
YES
Character max 50.
The API user assigned by the Gateway to the merchant. Can be obtained from the website inside your merchant account.
apiPassword
YES (2)
YES
Character max 50.
The API password assigned by Gateway to the merchant. Can be obtained from the website inside your merchant account.
apiCmd
YES (3)
YES
700
3 digit numeric transaction code must be 700
transaction->merchanttransid
YES (4)
YES
Character max 50.
Merchant transaction id must be included in the request. Merchant transaction id must be unique for each transaction.
transaction->amount
YES (5)
YES
Number with point decimal
Full amount to charge in currency specified. The amount must be specified as a number with decimal point and 2 digits to the right of the decimal point. Decimal separator must be point (.). example: 3500.25 = Three thousand five hundred units of currency and twenty five hundredths of a single unit of currency.
transaction->curcode
YES (6)
YES
Character 3.
May only use currencies specified in the Merchant Agreement.
transaction
YES
Xml Node
Section containing Transaction Information
transaction->description
YES
Character max 100.
Description of the charge. When available, that description may be used in the billing statement of the card holder.
transaction->merchantspecific1
OPT
Character max 200.
Merchant specific data for merchant use only. Data sent in this field will be stored and sent in any communication or response to the merchant.
transaction->merchantspecific2
OPT
Character max 200.
Merchant specific data for merchant use only. Data sent in this field will be stored and sent in any communication or response to the merchant.
transaction->merchantspecific3
OPT
Character max 200.
Merchant specific data for merchant use only. Data sent in this field will be stored and sent in any communication or response to the merchant.
transaction->merchantspecific4
OPT
Character max 200.
Merchant specific data for merchant use only. Data sent in this field will be stored and sent in any communication or response to the merchant.
transaction->merchantspecific5
OPT
Character max 200.
Merchant specific data for merchant use only. Data sent in this field will be stored and sent in any communication or response to the merchant.
customer
YES
Xml Node
Section containing Customer Information
customer->firstname
YES
Character max 50.
First name of the Customer.
customer->lastname
YES
Character max 50.
Last name of the Customer.
customer->birthday
YES*
Number 1-2 digits
Day of birth of the Customer (1-31) Important Note: If Merchant cannot provide such data, he/she should contact GPN’s Sales Account Manager. *Tag will be set as “Optional” only with Sales Account Manager approval.
customer->birthmonth
YES*
Number 1-2 digits
Month of birth of the customer (1-12) Important Note: If Merchant cannot provide such data, he/she should contact GPN’s Sales Account Manager. *Tag will be set as “Optional” only with Sales Account Manager approval.
customer->birthyear
YES*
Number 4 digits
Year of birth of the customer (1900-2100) Important Note: If Merchant cannot provide such data, he/she should contact GPN’s Sales Account Manager. *Tag will be set as “Optional” only with Sales Account Manager approval.
customer->email
YES
Character max 100.
Email of the Customer.
customer->countryiso
YES
Character exactly 3.
3 letter ISO country code of the Customer. Full list of codes can be obtained from the website inside your merchant account.
customer->stateregioniso
YES
Character max 3.
1-3 character ISO 3166 state/region/province code of the Customer. Full list of codes can be obtained from the website inside your merchant account.
customer->zippostal
YES
Character max 15.
Customer’s Zipcode or postal code.
customer->city
YES
Character max 50.
Customer’s City
customer->address1
YES
Character max 75.
Customer’s address line 1
customer->address2
OPT
Character max 75.
Customer’s address line 2
customer->phone1phone
YES
Character max 20.
Customer’s phone number, including country code and area code. Digits only, without (+) character
customer->phone2phone
OPT
Character max 20.
Customer’s phone number, including country code and area code. Digits only, without (+) character
customer->accountid
YES
Character max 50.
Customer unique account id used inside the merchant organization.
customer->ipaddress
YES
Character max 15.
Full IP address of the customer used for this transaction
creditcard
COND
Xml Node
Section containing sepa bank account Information. Required for sepa transactions, forbidden for credit card transactions.
creditcard->ccnumber
YES (7)
YES
Character max 16.
Full credit card number without dashes or separators. Only numbers.
creditcard->cccvv
YES (8)
YES
Character max 4.
Verification Code of the Credit Card
creditcard->expmonth
YES
Numeric 1-2
Expiration month of the credit card.
creditcard->expyear
YES
Numeric 4
Expiration year of the credit card.
creditcard->nameoncard
YES (9)
YES
Character max 50.
Full name as it appears on card.
creditcard->billingcountryiso
YES
Character exactly 3.
3-digits ISO country code of the Customer. Full list of codes can be obtained from the website inside your merchant account.
creditcard->billingstateregioniso
YES
Character max 5.
ISO 3166 state/region/province code of the Customer. Full list of codes can be obtained from the website inside your merchant account.
creditcard->billingzippostal
YES
Character max 15.
Customer’s Zip code or postal code.
creditcard->billingcity
YES
Character max 50.
Customer’s City
creditcard->billingaddress1
YES
Character max 75.
Customer’s address line 1
creditcard->billingaddress2
OPT
Character max 75.
Customer’s address line 2
creditcard->billingphone1phone
YES
Character max 20.
Customer’s phone number, including country code and area code. Digits only, without (+) character
creditcard->issuemonth
OPT
Numeric 1-2
Issuing month of the credit card.
creditcard->issueyear
OPT
Numeric 4
Issuing year of the credit card.
creditcard->returnurl
COND
Character string max 2000
The URL on the merchant website the customer will be returned to after the transaction has been processed.
checksum
YES
Character 36
SHA-1 calculated using the fields specified by the transaction plus the API key assigned by gateway to the merchant. This field must be calculated using the fields marked as “Include in checksum” (in the order indicated) plus the API key at the end.
auth
YES
Xml Node
Section containing authorization type
auth->type
YES
Character max. 7
This tag Must be present. Valid values are Direct = non- 3DS Charge (Auth/Capture) Auth = non-3DS Auth Only 3DS = 3DS Charge (Auth/Capture) Auth3DS = 3DS Auth Only Note: only those choices available as indicated in the Merchant Profile are accepted.
auth->sid
COND
Character no limit*
This tag is used only during 3D Secure transactions. It is intended to use as a session identification string and it is forwarded to you as a part of your Return URL. (See Appendix for “3D Secure Integration”) Note: Keep in mind that URL length (your Return URL + SID) must be under 2 000 characters
auth->xid
COND
28 byte-long
base-64 encoded XID : Unique Internet transaction ID To be taken from ACS Response.
auth->eci
COND
Numeric 2
Valid values are 01,02,05,06,07 MasterCard: 01 / 02 Visa: 05 / 06 / 07 empty for non-3D transactions To be taken from ACS Response.
auth->cavv
COND
Character 28
contains a 20-byte value that has been Base64 encoded, giving a 28 byte result. To be taken from ACS Response.
auth->cavvAlgorithm
COND
Numeric 1
Digit from [0-9] depending on ACS response. To be taken from ACS Response.
700 – Response
You initiate a transaction with an authentication type of either 3DS or Auth3DS.
Auth3DS involves a two-step process of authorization and capture. Some merchants opt for Auth3DS, where they authorize the payment and keep it in an AUTHORIZED status for a few days (usually less than 7) before capturing the funds. This waiting period serves as a buffer, allowing customers to cancel the deposit without requiring a refund. This practice helps prevent Chargebacks (CHB) because a transaction can be marked as CHB if it is not fully captured.
Transaction results:
The gateway response includes XML data with the PENDING status. In this case, direct the user to the specified URL where they will complete the redirection process and proceed to the URL.
Response Data description:
result
YES
Character
Indicates the result of the transaction. SUCCESS: Customer’s Credit Card account has been charged (or AUTHORIZED) with the amount of the transaction. DECLINED: transaction was declined. ERROR: An error has been detected in the request. PENDING: If the Issuing bank has been determined to participate in the 3DS program, this is the normal response and it will include the redirect URL. The merchant must present a redirect screen to the cardholder, using the URL.
merchanttransid
YES
Character max 50.
Unique merchant transaction id received in the request.
transref
COND
Integer
Gateway’s transaction reference number. Will be sent in the response only if the result is not ERROR. Merchant should save this reference number for support and troubleshooting.
gatetransid
COND
Character 36
Gateway transaction ID. Will be sent in the response only if the result is not ERROR. Merchant should save this reference number for refunds and other transaction activity performed through API.
errorcode
YES
Character 3
Error Code of the transaction or 000 if no error condition found.
errormessage
OPT
Character max 100
Full description of the error.
description
OPT
Character no limit
Optional details of the transaction except in the case of DECLINED and then the reason for the decline. May be null.
redirect
COND
Character string max 2000
Direct the user to this URL, where he will complete the process and be redirected to the return URL
The 700 request is plain XML that contains the following data:
The 700 response is plain XML that contains the following data:
Good to know: This API method was created using the API Method block, it's how you can build out an API method documentation from scratch. Have a play with the block and you'll see you can do some nifty things like add and reorder parameters, document responses, and give your methods detailed descriptions.
Last updated