User Tools

Site Tools


en:girocheckout:creditcard:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:girocheckout:creditcard:start [2023/03/24 20:41]
michaelheumann
en:girocheckout:creditcard:start [2024/04/12 05:17]
michaelheumann [Recurring credit card payment]
Line 129: Line 129:
 |pkn            |optional |String(50)  |This field is used process a transaction without re-entering the card data. \\ create = generate a new pseudo card number \\ [pseudo card number] = pkn of the masked card data (see [[en:girocheckout:creditcard:start#pseudo_card_number_pkn|pseudo card number]])\\  | |pkn            |optional |String(50)  |This field is used process a transaction without re-entering the card data. \\ create = generate a new pseudo card number \\ [pseudo card number] = pkn of the masked card data (see [[en:girocheckout:creditcard:start#pseudo_card_number_pkn|pseudo card number]])\\  |
 |recurring      |optional |Boolean     |recurring payment \\ 0 = no (default) \\ 1 = yes  | |recurring      |optional |Boolean     |recurring payment \\ 0 = no (default) \\ 1 = yes  |
-|urlRedirect    |yes       |String      |URL, where the buyer has to be sent after payment | +|urlRedirect    |yes       |String(2048)      |URL, where the buyer has to be sent after payment | 
-|urlNotify      |yes       |String      |URL, where the notification has to be sent after payment | +|urlNotify      |yes       |String(2048)      |URL, where the notification has to be sent after payment | 
-|tds2Address |optional |String | For 3D Secure 2.0: Main address line (usually street and number) of the card holder's billing address, Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50. When specified, you must also specify the tds2-fields, except for tds2Optional. +|tds2Address |optional |String(50) | For 3D Secure 2.0: Main address line (usually street and number) of the card holder's billing address, Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50. When specified, you must also specify the tds2-fields, except for tds2Optional. 
-|tds2Postcode |optional |String | For 3D Secure 2.0: Postal code of the card holder's billing address, Format A-Z, a-z, 0-9, Blank, [-], max. 11. When specified, you must also specify the tds2-fields, except for tds2Optional. +|tds2Postcode |optional |String(10) | For 3D Secure 2.0: Postal code of the card holder's billing address, Format A-Z, a-z, 0-9, Blank, [-], max. 11. When specified, you must also specify the tds2-fields, except for tds2Optional. 
-|tds2City |optional |String | For 3D Secure 2.0: City of the card holder's billing address, Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50. When specified, you must also specify the tds2-fields, except for tds2Optional. +|tds2City |optional |String(50) | For 3D Secure 2.0: City of the card holder's billing address, Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50. When specified, you must also specify the tds2-fields, except for tds2Optional. 
-|tds2Country |optional |String | For 3D Secure 2.0: Country of the card holder's billing address, Format A-Z, max. 2. Zweibuchstabiges Länderkürzel nach dem aktuell gültigen Standard ISO 3166. When specified, you must also specify the tds2-fields, except for tds2Optional. | +|tds2Country |optional |String(2) | For 3D Secure 2.0: Country of the card holder's billing address, Format A-Z, max. 2. Zweibuchstabiges Länderkürzel nach dem aktuell gültigen Standard ISO 3166. When specified, you must also specify the tds2-fields, except for tds2Optional. | 
-|tds2Optional |optional |String | For 3D Secure 2.0: JSON-String that contains further optional fields. A complete list of the available fields can be found underneath this table under  [[en:girocheckout:creditcard:start#d_secure_20_optional_fields_tds2optional|3D Secure 2.0 Optional Fields (tds2Optional)]]. |+|tds2Optional |optional |JSON String | For 3D Secure 2.0: JSON-String that contains further optional fields. A complete list of the available fields can be found underneath this table under  [[en:girocheckout:creditcard:start#d_secure_20_optional_fields_tds2optional|3D Secure 2.0 Optional Fields (tds2Optional)]]. |
 |kassenzeichen  |optional |String(255)  |Optional field that allows passing an additional reference/identifier for the transaction. This value is displayed inside GiroCockpit as part of the transaction details (and soon export) and a search for it is also supported there. Characters must comply with the UTF-8 character set. | |kassenzeichen  |optional |String(255)  |Optional field that allows passing an additional reference/identifier for the transaction. This value is displayed inside GiroCockpit as part of the transaction details (and soon export) and a search for it is also supported there. Characters must comply with the UTF-8 character set. |
-|hash           |yes       |String      |HMAC MD5 hash (see [[en:girocheckout:general:start#hash_generation|hash generation]]) |+|hash           |yes       |String (32)     |HMAC MD5 hash (see [[en:girocheckout:general:start#hash_generation|hash generation]]) |
  
 === 3D Secure 2.0 Optional Fields (tds2Optional) === === 3D Secure 2.0 Optional Fields (tds2Optional) ===
Line 155: Line 155:
  
 ^Name           ^Type      ^Description   ^ ^Name           ^Type      ^Description   ^
-|email |String | The card holder's email address, Format A-Z, a-z, 0-9, [_.+-@], max. 254. |+|email |String(254) | The card holder's email address, Format A-Z, a-z, 0-9, [_.+-@], max. 254. |
 |addressesMatch |Boolean  | Specifies if the shipping address and billing address are the same (true) or not (false). Not a sub-object but a field directly in the main object. | |addressesMatch |Boolean  | Specifies if the shipping address and billing address are the same (true) or not (false). Not a sub-object but a field directly in the main object. |
 ^**//billingAddress//**  ^^^ ^**//billingAddress//**  ^^^
-|billingAddress.line2 |String | Second line of the billing address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | +|billingAddress.line2 |String(50) | Second line of the billing address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | 
-|billingAddress.line3 |String | Third line of the billing address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | +|billingAddress.line3 |String(50) | Third line of the billing address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | 
-|billingAddress.state |String | Subdivision (state, province or the like) of a country according to ISO 3166-2. Format A-Z, max. 3. |+|billingAddress.state |String(3) | Subdivision (state, province or the like) of a country according to ISO 3166-2. Format A-Z, max. 3. |
 ^**//shippingAddress//**  ^^^ ^**//shippingAddress//**  ^^^
-|shippingAddress.line1 |String | First line of the shipping address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | +|shippingAddress.line1 |String(50) | First line of the shipping address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | 
-|shippingAddress.line2 |String | Second line of the shipping address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | +|shippingAddress.line2 |String(50) | Second line of the shipping address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | 
-|shippingAddress.line3 |String | Third line of the shipping address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | +|shippingAddress.line3 |String(50) | Third line of the shipping address. Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | 
-|shippingAddress.postcode |String |Postal code of the shipping address, Format A-Z, a-z, 0-9, Blank, [-], max. 11 | +|shippingAddress.postcode |String(10) |Postal code of the shipping address, Format A-Z, a-z, 0-9, Blank, [-], max. 11 | 
-|shippingAddress.city |String | City of the shipping address, Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | +|shippingAddress.city |String(50) | City of the shipping address, Format A-Z, a-z, 0-9, Blank, [-/().,&'], max. 50 | 
-|shippingAddress.state |String | Subdivision (state, province or the like) of a country according to ISO 3166-2. Format A-Z, max. 3 | +|shippingAddress.state |String(50) | Subdivision (state, province or the like) of a country according to ISO 3166-2. Format A-Z, max. 3 | 
-|shippingAddress.country |String | Country of the shipping address, Format A-Z, max. 2. Two-letter country code according to the currently applicable standard ISO 3166. |+|shippingAddress.country |String(2) | Country of the shipping address, Format A-Z, max. 2. Two-letter country code according to the currently applicable standard ISO 3166. |
 ^**//homePhoneNumber//**  ^^^ ^**//homePhoneNumber//**  ^^^
 |homePhoneNumber.country |Integer | Country code of the telephone number without leading zeroes. Format 0-9, max. 3. e.g. 49 for Germany. | |homePhoneNumber.country |Integer | Country code of the telephone number without leading zeroes. Format 0-9, max. 3. e.g. 49 for Germany. |
-|homePhoneNumber.regional |String | Telephone number without country code and without leading 0 (area code and local number). Format 0-9, max. 15, e.g. 73482984938. |+|homePhoneNumber.regional |String(15) | Telephone number without country code and without leading 0 (area code and local number). Format 0-9, max. 15, e.g. 73482984938. |
 ^**//mobilePhoneNumber//**  ^^^ ^**//mobilePhoneNumber//**  ^^^
 |mobilePhoneNumber.country |Integer | Country code of the mobile phone number without leading zeroes. Format 0-9, max. 3. e.g. 49 for Germany. | |mobilePhoneNumber.country |Integer | Country code of the mobile phone number without leading zeroes. Format 0-9, max. 3. e.g. 49 for Germany. |
-|mobilePhoneNumber.regional |String | Telephone number without country code and without leading 0 (area code and local number). Format 0-9, max. 15, e.g. 73482984938. |+|mobilePhoneNumber.regional |String(15) | Telephone number without country code and without leading 0 (area code and local number). Format 0-9, max. 15, e.g. 73482984938. |
 ^**//workPhoneNumber//**  ^^^ ^**//workPhoneNumber//**  ^^^
 |workPhoneNumber.country |Integer | Country code of the work phone number without leading zeroes. Format 0-9, max. 3. e.g. 49 for Germany. | |workPhoneNumber.country |Integer | Country code of the work phone number without leading zeroes. Format 0-9, max. 3. e.g. 49 for Germany. |
-|workPhoneNumber.regional |String | Telephone number without country code and without leading 0 (area code and local number). Format 0-9, max. 15, e.g. 73482984938. |+|workPhoneNumber.regional |String(15) | Telephone number without country code and without leading 0 (area code and local number). Format 0-9, max. 15, e.g. 73482984938. |
 ^**//cardholderAccountInfo//**  ^^^ ^**//cardholderAccountInfo//**  ^^^
-|cardholderAccountInfo.accountAgeIndicator |String | Indicates when the customer's payment account was created. Possible values: "never" - customer has no payment account, is e.g. shopping as a guest, "now" - customer created the payment account during the current shopping session, "less30" - payment account created less than 30 days ago, "more30less60" - payment account created at least 30 but less than 60 days ago, "more60" - payment account created at least 60 days ago. | +|cardholderAccountInfo.accountAgeIndicator |String(12) | Indicates when the customer's payment account was created. Possible values: "never" - customer has no payment account, is e.g. shopping as a guest, "now" - customer created the payment account during the current shopping session, "less30" - payment account created less than 30 days ago, "more30less60" - payment account created at least 30 but less than 60 days ago, "more60" - payment account created at least 60 days ago. | 
-|cardholderAccountInfo.passwordChangeIndicator |String | Indicates when the password of the customer account was changed the last time. Possible values: "never" - the customer never changed his password, "now" - password changed during the current shopping session, "less30" - password changed less than 30 days ago, "more30less60" - password changed at least 30 but less than 60 days ago, "more60" - password has not been chan- ged for at least 60 days. | +|cardholderAccountInfo.passwordChangeIndicator |String(12) | Indicates when the password of the customer account was changed the last time. Possible values: "never" - the customer never changed his password, "now" - password changed during the current shopping session, "less30" - password changed less than 30 days ago, "more30less60" - password changed at least 30 but less than 60 days ago, "more60" - password has not been chan- ged for at least 60 days. | 
-|cardholderAccountInfo.paymentAccountAgeIndicator |String | Indicates when the customer's payment account was created. Possible values: "never" - customer has no payment account, is e.g. shopping as a guest, "now" - customer created the payment account during the current shopping session, "less30" - payment account created less than 30 days ago, "more30less60" - payment account created at least 30 but less than 60 days ago, "more60" - payment account created at least 60 days ago. | +|cardholderAccountInfo.paymentAccountAgeIndicator |String(12) | Indicates when the customer's payment account was created. Possible values: "never" - customer has no payment account, is e.g. shopping as a guest, "now" - customer created the payment account during the current shopping session, "less30" - payment account created less than 30 days ago, "more30less60" - payment account created at least 30 but less than 60 days ago, "more60" - payment account created at least 60 days ago. | 
-|cardholderAccountInfo.accountChange |String | Indicates when the customer account in the shop was last modified, e.g. address change or new payment data. Possible values: "now" - Customer has changed his account during the current purchase, "less30" - Account was modified less than 30 days ago, "more30less60" - Account was modified at least 30 days ago but less than 60 days ago, "more60" - Customer account hasn't been changed in at least 60 days. | +|cardholderAccountInfo.accountChange |String(12) | Indicates when the customer account in the shop was last modified, e.g. address change or new payment data. Possible values: "now" - Customer has changed his account during the current purchase, "less30" - Account was modified less than 30 days ago, "more30less60" - Account was modified at least 30 days ago but less than 60 days ago, "more60" - Customer account hasn't been changed in at least 60 days. | 
-|cardholderAccountInfo.shippingAddressAgeIndicator |String | Indicates when the customer first used the current shipping address. Possible values: "now" - customer uses shipping address for the first time, "less30" - shipping address first used less than 30 days ago, "more30less60" - shipping address first used at least 30 but less than 60 days ago, "more60" - shipping address first used at least 60 days ago. | +|cardholderAccountInfo.shippingAddressAgeIndicator |String(12) | Indicates when the customer first used the current shipping address. Possible values: "now" - customer uses shipping address for the first time, "less30" - shipping address first used less than 30 days ago, "more30less60" - shipping address first used at least 30 but less than 60 days ago, "more60" - shipping address first used at least 60 days ago. | 
-|cardholderAccountInfo.shippingNameIndicator |String | Specifies if the card holder's name is the same as the name of the shipping address. Possible values: "identical" - names are identical, "different" - names are different. |+|cardholderAccountInfo.shippingNameIndicator |String(9) | Specifies if the card holder's name is the same as the name of the shipping address. Possible values: "identical" - names are identical, "different" - names are different. |
 |cardholderAccountInfo.suspiciousAccountActivity |Boolean | Indicates if the shop experienced suspicious activities of the card holder (true) or not (false). | |cardholderAccountInfo.suspiciousAccountActivity |Boolean | Indicates if the shop experienced suspicious activities of the card holder (true) or not (false). |
 |cardholderAccountInfo.provisioningDayCount |Integer | Number of "add card" attempts within the last 24 hours. Format 0-9, max. 3. | |cardholderAccountInfo.provisioningDayCount |Integer | Number of "add card" attempts within the last 24 hours. Format 0-9, max. 3. |
 ^**//tdsMerchantRiskIndicators//**  ^^^ ^**//tdsMerchantRiskIndicators//**  ^^^
-|tdsMerchantRiskIndicators.deliveryTimeframe |String | Indicates when the customer will receive the merchandise. Possible values: "electronic" - immediate electronic delivery, "moreThanOneDay", "over- night", "sameDay". | +|tdsMerchantRiskIndicators.deliveryTimeframe |String(14) | Indicates when the customer will receive the merchandise. Possible values: "electronic" - immediate electronic delivery, "moreThanOneDay", "over- night", "sameDay". | 
-|tdsMerchantRiskIndicators.deliveryEmailAddress |String | Delivery email address of the customer in case of an electronic delivery. Format A-Z, a-z, 0-9, [_.+-@], max. 254. |+|tdsMerchantRiskIndicators.deliveryEmailAddress |String(245) | Delivery email address of the customer in case of an electronic delivery. Format A-Z, a-z, 0-9, [_.+-@], max. 254. |
 |tdsMerchantRiskIndicators.giftCardAmount |Integer | Amount of a gift card in major currency unit, e.g. 123,45 EUR is 123. Format 0-9, max. 10. | |tdsMerchantRiskIndicators.giftCardAmount |Integer | Amount of a gift card in major currency unit, e.g. 123,45 EUR is 123. Format 0-9, max. 10. |
 |tdsMerchantRiskIndicators.giftCardCount |Integer | Total count of gift cards purchased. Format 0-9, max. 2. | |tdsMerchantRiskIndicators.giftCardCount |Integer | Total count of gift cards purchased. Format 0-9, max. 2. |
 |tdsMerchantRiskIndicators.giftCardCurrency |Integer | Currency code of a gift card according to ISO 4217. Format A-Z, max. 3. | |tdsMerchantRiskIndicators.giftCardCurrency |Integer | Currency code of a gift card according to ISO 4217. Format A-Z, max. 3. |
 |tdsMerchantRiskIndicators.preOrderDate |Date | In the case of a pre-ordered purchase: date when the merchandise is expected to be available. | |tdsMerchantRiskIndicators.preOrderDate |Date | In the case of a pre-ordered purchase: date when the merchandise is expected to be available. |
-|tdsMerchantRiskIndicators.preOrderPurchaseIndicator |String | Possible values: "available" - the merchandise is already available, "future" - the merchandise will be available in the future.| +|tdsMerchantRiskIndicators.preOrderPurchaseIndicator |String(9) | Possible values: "available" - the merchandise is already available, "future" - the merchandise will be available in the future.| 
-|tdsMerchantRiskIndicators.reorderItemsIndicator |String | Indicates if the customer is reordering previously purchased merchandise: "first" - first time ordered, "reordered". | +|tdsMerchantRiskIndicators.reorderItemsIndicator |String(9) | Indicates if the customer is reordering previously purchased merchandise: "first" - first time ordered, "reordered". | 
-|tdsMerchantRiskIndicators.shippingIndicator |String | Specifies where the merchandise is delivered to. Possible values: "digital" - di- gital delivery, "billingAddress" - to the billing address, "differentAddress" - to a different address, "verifiedAddress" - to a verfied address, "store" - to a store, "other" - something else. |+|tdsMerchantRiskIndicators.shippingIndicator |String(16) | Specifies where the merchandise is delivered to. Possible values: "digital" - di- gital delivery, "billingAddress" - to the billing address, "differentAddress" - to a different address, "verifiedAddress" - to a verfied address, "store" - to a store, "other" - something else. |
 ^**//tdsRequestorAuthenticationInformation//**  ^^^ ^**//tdsRequestorAuthenticationInformation//**  ^^^
-|tdsRequestorAuthenticationInformation.authenticationData |String | Authentication data of the customer. Format A-Z, a-z, 0-9 [!"#$%$'()*+,./:;<=>?@[\]%%^%%`{%%|%%}~-], max. 2048 |+|tdsRequestorAuthenticationInformation.authenticationData(2048) |String | Authentication data of the customer. Format A-Z, a-z, 0-9 [!"#$%$'()*+,./:;<=>?@[\]%%^%%`{%%|%%}~-], max. 2048 |
 |tdsRequestorAuthenticationInformation.authenticationTimestamp |DateTime | Date and time when the customer authenticated in the shop. Format JJJJ-MM-TTTHH:mm:ss | |tdsRequestorAuthenticationInformation.authenticationTimestamp |DateTime | Date and time when the customer authenticated in the shop. Format JJJJ-MM-TTTHH:mm:ss |
-|tdsRequestorAuthenticationInformation.authenticationMethod |String | Specifies how the customer authenticated to the shop. Possile values: "none" - not at all, e.g. the customer is shopping as a guest, "ownCredentials" - the customer authenticated with his credentials, e.g. login name and password, "federatedId", "issuerCredentials", "thirdParty", "fido", "fidoSigned", "srcAs- surance". |+|tdsRequestorAuthenticationInformation.authenticationMethod |String(17) | Specifies how the customer authenticated to the shop. Possile values: "none" - not at all, e.g. the customer is shopping as a guest, "ownCredentials" - the customer authenticated with his credentials, e.g. login name and password, "federatedId", "issuerCredentials", "thirdParty", "fido", "fidoSigned", "srcAs- surance". |
 ^**//tdsTransactionAttributes//**  ^^^ ^**//tdsTransactionAttributes//**  ^^^
 |tdsTransactionAttributes.purchaseInstalmentData |Integer | Maximum number of authorisations permitted for instalment payments. Format 0-9, max. 3, Wert muss > 1 sein. | |tdsTransactionAttributes.purchaseInstalmentData |Integer | Maximum number of authorisations permitted for instalment payments. Format 0-9, max. 3, Wert muss > 1 sein. |
 |tdsTransactionAttributes.recurringExpiry |Date | Date after which no further authorisations shall be carried out. Format YYYY-MM-DD. | |tdsTransactionAttributes.recurringExpiry |Date | Date after which no further authorisations shall be carried out. Format YYYY-MM-DD. |
 |tdsTransactionAttributes.recurringFrequency |Integer | Minimum number of days between authorisations. Format 0-9, max. 4. | |tdsTransactionAttributes.recurringFrequency |Integer | Minimum number of days between authorisations. Format 0-9, max. 4. |
-|tdsTransactionAttributes.type |String | Type of 3-D Secure 2.0 payment. Possible values: "purchase", "checkAccep- tance", "accountFunding", "quasiCash", "prepaidActivation". |+|tdsTransactionAttributes.type |String(17) | Type of 3-D Secure 2.0 payment. Possible values: "purchase", "checkAccep- tance", "accountFunding", "quasiCash", "prepaidActivation". |
  
 == Example of a tds2Optional string (formatted for demonstration purposes, should normally be specified in one line) == == Example of a tds2Optional string (formatted for demonstration purposes, should normally be specified in one line) ==
Line 281: Line 281:
 ^Name           ^Mandatory  ^Type      ^Description   ^ ^Name           ^Mandatory  ^Type      ^Description   ^
 |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] | |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] |
-|msg            |yes       |String    |additional information about the response code | +|msg            |yes       |String(255)    |additional information about the response code | 
-|reference      |optional |String    |unique GiroCheckout transaction ID | +|reference      |optional |String(36)    |unique GiroCheckout transaction ID | 
-|redirect       |optional |String    |redirect URL to the payment page|+|redirect       |optional |String(2048)    |redirect URL to the payment page|
 ^HEADER parameter^^^^ ^HEADER parameter^^^^
-|hash           |yes       |String    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |+|hash           |yes       |String(36)    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |
  
 == Example in case of success == == Example in case of success ==
Line 306: Line 306:
 == GET parameters == == GET parameters ==
 ^Name             ^Mandatory    ^Type        ^Description   ^ ^Name             ^Mandatory    ^Type        ^Description   ^
-|gcReference      |yes       |String      | unique GiroCheckout transaction ID | +|gcReference      |yes       |String(36)      | unique GiroCheckout transaction ID | 
-|gcMerchantTxId   |yes       | String     | merchant transaction ID | +|gcMerchantTxId   |yes       |String(255)     | merchant transaction ID | 
-|gcBackendTxId    |yes       |String      | payment processor transaction ID |+|gcBackendTxId    |yes       |String(22)      | payment processor transaction ID |
 |gcAmount         |yes       |Integer     | if a decimal currency is used, the amount has to be in the smallest unit of value, eg. Cent, Penny | |gcAmount         |yes       |Integer     | if a decimal currency is used, the amount has to be in the smallest unit of value, eg. Cent, Penny |
-|gcCurrency       |yes       |String      | currency |+|gcCurrency       |yes       |String(3)      | currency |
 |gcResultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]| |gcResultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]|
-|gcHash           |yes       |String      | HMAC MD5 hash (see [[en:girocheckout:general:start#hash_generation|hash generation]]) |+|gcHash           |yes       |String(32)      | HMAC MD5 hash (see [[en:girocheckout:general:start#hash_generation|hash generation]]) |
  
 === Reply === === Reply ===
Line 332: Line 332:
 == GET parameters == == GET parameters ==
 ^Name             ^Mandatory    ^Type        ^Description   ^ ^Name             ^Mandatory    ^Type        ^Description   ^
-|gcReference      |yes       |String      | unique GiroCheckout transaction ID | +|gcReference      |yes       |String(36)      | unique GiroCheckout transaction ID | 
-|gcMerchantTxId   |yes       |String      | merchant transaction ID | +|gcMerchantTxId   |yes       |String(255)      | merchant transaction ID | 
-|gcBackendTxId    |yes       |String      | payment processor transaction ID |+|gcBackendTxId    |yes       |String(22)      | payment processor transaction ID |
 |gcAmount         |yes       |Integer     | if a decimal currency is used, the amount has to be in the smallest unit of value, e.g. Cent, Penny | |gcAmount         |yes       |Integer     | if a decimal currency is used, the amount has to be in the smallest unit of value, e.g. Cent, Penny |
-|gcCurrency       |yes       |String      | Currency |+|gcCurrency       |yes       |String(3)      | Currency |
 |gcResultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]| |gcResultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]|
-|gcHash           |yes       |String      | HMAC MD5 hash (see [[en:girocheckout:general:start#hash_generation|hash generation]]) |+|gcHash           |yes       |String(32)      | HMAC MD5 hash (see [[en:girocheckout:general:start#hash_generation|hash generation]]) |
  
  
Line 387: Line 387:
 |amount         |yes       |Integer     |If a decimal currency is used, the amount has to be in the smallest unit of value, e.g. Cent, Penny | |amount         |yes       |Integer     |If a decimal currency is used, the amount has to be in the smallest unit of value, e.g. Cent, Penny |
 |currency       |yes       |String(3)   |Currency according to [[http://de.wikipedia.org/wiki/ISO_4217#Aktuell_g.C3.BCltige_W.C3.A4hrungen|ISO 4217]].\\ EUR = Euro | |currency       |yes       |String(3)   |Currency according to [[http://de.wikipedia.org/wiki/ISO_4217#Aktuell_g.C3.BCltige_W.C3.A4hrungen|ISO 4217]].\\ EUR = Euro |
-|reference      |yes       |String      |GiroCheckout transaction ID from a previous transaction, which the capture or refund is for |+|reference      |yes       |String(36)      |GiroCheckout transaction ID from a previous transaction, which the capture or refund is for |
 |purpose        |optional  |String(27)  |Purpose of the refund or capture. This information is printed on the credit card statement.| |purpose        |optional  |String(27)  |Purpose of the refund or capture. This information is printed on the credit card statement.|
-|kassenzeichen  |optional |String      | (Capture only) Optional field that allows passing an additional reference/identifier for the transaction. This value is displayed inside GiroCockpit as part of the transaction details (and soon export) and a search for it is also supported there. | +|kassenzeichen  |optional |String(255)      | (Capture only) Optional field that allows passing an additional reference/identifier for the transaction. This value is displayed inside GiroCockpit as part of the transaction details (and soon export) and a search for it is also supported there. | 
-|hash           |yes       |String      |HMAC MD5 hash on the complete call. See [[en:girocheckout:general:start#hash_generation|hash generation]] |+|hash           |yes       |String(32)      |HMAC MD5 hash on the complete call. See [[en:girocheckout:general:start#hash_generation|hash generation]] |
  
 == Example == == Example ==
Line 401: Line 401:
 ^Name             ^Mandatory  ^Type        ^Description   ^ ^Name             ^Mandatory  ^Type        ^Description   ^
 |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] | |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] |
-|msg            |yes       |String    |Additional information about the response code | +|msg            |yes       |String(255)    |Additional information about the response code | 
-|reference      |yes       |String    |Unique GiroCheckout transaction ID | +|reference      |yes       |String(36)    |Unique GiroCheckout transaction ID | 
-|merchantTxId   |yes       |String      | Unique transaction id of the merchant | +|merchantTxId   |yes       |String(255)      | Unique transaction id of the merchant | 
-|backendTxId    |yes       |String      | Payment processor transaction ID |+|backendTxId    |yes       |String(22)      | Payment processor transaction ID |
 |amount         |yes       |Integer     | If a decimal currency is used, the amount has to be in the smallest unit of value, e.g. Cent, Penny | |amount         |yes       |Integer     | If a decimal currency is used, the amount has to be in the smallest unit of value, e.g. Cent, Penny |
-|currency       |yes       |String      | Currency |+|currency       |yes       |String(3)      | Currency |
 |resultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]| |resultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]|
 ^HEADER parameter^^^^ ^HEADER parameter^^^^
-|hash           |yes       |String    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |+|hash           |yes       |String(32)    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |
  
 == Example in case of success == == Example in case of success ==
Line 427: Line 427:
 |projectId      |Yes       |Integer     |Project ID of a credit card project | |projectId      |Yes       |Integer     |Project ID of a credit card project |
 |merchantTxId   |Yes       |String(255) |Unique transaction ID of the merchant. Allowed characters: any letters (incl. language-specific special characters such as German Umlauts), 0-9, symbols & = + , : ; . _ ! ? # / | |merchantTxId   |Yes       |String(255) |Unique transaction ID of the merchant. Allowed characters: any letters (incl. language-specific special characters such as German Umlauts), 0-9, symbols & = + , : ; . _ ! ? # / |
-|reference      |Yes       |String      |GiroCheckout transaction ID that is to be voided | +|reference      |Yes       |String(36)      |GiroCheckout transaction ID that is to be voided | 
-|hash           |Yes       |String      |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]])|+|hash           |Yes       |String(32)      |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]])|
  
 == Example == == Example ==
Line 439: Line 439:
 ^Name           ^Mandatory  ^Type      ^Description   ^ ^Name           ^Mandatory  ^Type      ^Description   ^
 |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] | |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] |
-|msg            |yes       |String    |Additional information about the response code | +|msg            |yes       |String(255)    |Additional information about the response code | 
-|reference      |yes       |String    |Unique GiroCheckout transaction ID | +|reference      |yes       |String(36)    |Unique GiroCheckout transaction ID | 
-|referenceParent      |yes       |String      | GiroCheckout transaction ID of the original base transaction | +|referenceParent      |yes       |String(36)      | GiroCheckout transaction ID of the original base transaction | 
-|merchantTxId   |yes       |String      | Unique transaction id of the merchant | +|merchantTxId   |yes       |String(255)      | Unique transaction id of the merchant | 
-|backendTxId    |yes       |String      | Payment processor transaction ID |+|backendTxId    |yes       |String(22)      | Payment processor transaction ID |
 |amount         |yes       |Integer     | Voided amount, if a decimal currency is used, the amount has to be in the smallest unit of value, e.g. Cent, Penny | |amount         |yes       |Integer     | Voided amount, if a decimal currency is used, the amount has to be in the smallest unit of value, e.g. Cent, Penny |
-|currency       |yes       |String      | Currency |+|currency       |yes       |String(3)      | Currency |
 |resultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]| |resultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]|
 ^HEADER parameter^^^^ ^HEADER parameter^^^^
-|hash           |yes       |String    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |+|hash           |yes       |String(32)    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |
  
 == Example in case of success == == Example in case of success ==
Line 485: Line 485:
 ^Name           ^Mandatory  ^Type      ^Description   ^ ^Name           ^Mandatory  ^Type      ^Description   ^
 |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] | |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] |
-|msg            |yes       |String    |Additional information about the response code | +|msg            |yes       |String(255)    |Additional information about the response code | 
-|pkn            |yes       |String    |Pseudo card number | +|pkn            |yes       |String(50)    |Pseudo card number | 
-|cardnumber     |yes       |String    |Masked credit card number, e.g. 411111%%******%%1111 | +|cardnumber     |yes       |String(19)    |Masked credit card number, e.g. 411111%%******%%1111 | 
-|expiremonth    |yes       |String    |Month of the credit card's expiration date | +|expiremonth    |yes       |String(2)    |Month of the credit card's expiration date | 
-|expireyear     |yes       |String    |Year of the credit card's expiration date |+|expireyear     |yes       |String(4)    |Year of the credit card's expiration date |
 ^HEADER Parameter^^^^ ^HEADER Parameter^^^^
-|hash           |yes       |String    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |+|hash           |yes       |String(32)    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |
  
 == Example in case of success == == Example in case of success ==
Line 506: Line 506:
  
   - Carry out a normal credit card transaction (see [[#initialize_credit_card_payment|Initialize Payment]])   - Carry out a normal credit card transaction (see [[#initialize_credit_card_payment|Initialize Payment]])
-  - Obtain pseudo card number (PKN) (see [[#pseudo-query_pseudo_card_information|Query PKN information]])+  - Obtain pseudo card number (PKN) (see [[#query_pseudo_card_information|Query PKN information]])
   - Store this PKN   - Store this PKN
   - On the next recurring payment, initialize a payment transaction (use correct end point, see [[#recurring_or_pkn_transaction|Recurring or PKN transaction]]), but set parameter pkn and let recurring=1.   - On the next recurring payment, initialize a payment transaction (use correct end point, see [[#recurring_or_pkn_transaction|Recurring or PKN transaction]]), but set parameter pkn and let recurring=1.
Line 527: Line 527:
 |pkn            |optional |String(50)  |This field is used process a transaction without re-entering the card data. \\ [pseudo card number] = pkn of the masked card data (see [[en:girocheckout:creditcard:start#pseudo_card_number_pkn|pseudo card number]])\\  | |pkn            |optional |String(50)  |This field is used process a transaction without re-entering the card data. \\ [pseudo card number] = pkn of the masked card data (see [[en:girocheckout:creditcard:start#pseudo_card_number_pkn|pseudo card number]])\\  |
 |recurring      |optional |Boolean     |recurring payment \\ 0 = no (default) \\ 1 = yes  | |recurring      |optional |Boolean     |recurring payment \\ 0 = no (default) \\ 1 = yes  |
-|urlNotify      |yes       |String      |URL, where the notification has to be sent after payment | +|urlNotify      |yes       |String(2048)      |URL, where the notification has to be sent after payment | 
-|kassenzeichen  |optional |String      |Optional field that allows passing an additional reference/identifier for the transaction. This value is displayed inside GiroCockpit as part of the transaction details (and soon export) and a search for it is also supported there. | +|kassenzeichen  |optional |String(255)      |Optional field that allows passing an additional reference/identifier for the transaction. This value is displayed inside GiroCockpit as part of the transaction details (and soon export) and a search for it is also supported there. | 
-|hash           |yes       |String      |HMAC MD5 hash (see [[en:girocheckout:general:start#hash_generation|hash generation]]) |+|hash           |yes       |String(32)      |HMAC MD5 hash (see [[en:girocheckout:general:start#hash_generation|hash generation]]) |
  
 == Example == == Example ==
Line 540: Line 540:
 ^Name           ^Mandatory  ^Type      ^Description   ^ ^Name           ^Mandatory  ^Type      ^Description   ^
 |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] | |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] |
-|msg            |yes       |String    |Additional information about the response code | +|msg            |yes       |String(255)    |Additional information about the response code | 
-|reference      |yes       |String    |Unique GiroCheckout transaction ID | +|reference      |yes       |String(36)    |Unique GiroCheckout transaction ID | 
-|backendTxId    |yes       |String      | Payment processor transaction ID |+|backendTxId    |yes       |String(22)      | Payment processor transaction ID |
 |resultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]| |resultPayment  |yes       |Integer     | [[en:girocheckout:resultcodes#result_codes_payment|Payment result codes]]|
 ^HEADER parameter^^^^ ^HEADER parameter^^^^
-|hash           |yes       |String    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |+|hash           |yes       |String(32)    |HMAC MD5 hash on the complete JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |
  
 == Example in case of success == == Example in case of success ==
Line 578: Line 578:
 ^Name           ^Mandatory  ^Type      ^Description   ^ ^Name           ^Mandatory  ^Type      ^Description   ^
 |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] | |rc             |yes       |Integer   |[[en:girocheckout:errorcodes|response code]] |
-|msg            |yes       |String    |additional information about the response code in case of error| +|msg            |yes       |String(255)    |additional information about the response code in case of error| 
-|accountholder  |Optional |String    |Account holder of the sender account| +|accountholder  |Optional |String(255)    |Account holder of the sender account| 
-|pan            |Optional |String    |Masked credit card number | +|pan            |Optional |String(50)    |Masked credit card number | 
-|expdate        |Optional |String    |Expiration date of the card (format mm/yyyy)| +|expdate        |Optional |String(7)    |Expiration date of the card (format mm/yyyy)| 
-|brand          |Optional |String    |Brand name of the card, such as VISA |+|brand          |Optional |String(7)    |Brand name of the card, such as VISA |
 ^HEADER parameter^^^^ ^HEADER parameter^^^^
-|hash           |yes       |String    |HMAC MD5 hash of the full JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |+|hash           |yes       |String(32)    |HMAC MD5 hash of the full JSON string. (see [[en:girocheckout:general:start#api_call_reply_to_the_merchant|api call reply]]) |
  
 == Example in case of success == == Example in case of success ==
en/girocheckout/creditcard/start.txt · Last modified: 2024/04/12 05:17