User Tools

Site Tools


en:girocheckout:paypage:start

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
en:girocheckout:paypage:start [2023/03/24 20:49]
michaelheumann
en:girocheckout:paypage:start [2023/05/08 04:10]
michaelheumann
Line 141: Line 141:
 |merchantId     |Yes  |Integer     |Merchant ID of a Paypage project | |merchantId     |Yes  |Integer     |Merchant ID of a Paypage project |
 |projectId      |Yes  |Integer     |Project ID of a Paypage project | |projectId      |Yes  |Integer     |Project ID of a Paypage project |
-|hash           |Yes  |String      |HMAC MD5 hash of all the parameter values in the call. See  [[en:girocheckout:general:start#hash_generation|hash generation]] |+|hash           |Yes  |String(32)      |HMAC MD5 hash of all the parameter values in the call. See  [[en:girocheckout:general:start#hash_generation|hash generation]] |
  
 == Example == == Example ==
Line 152: Line 152:
 ^Name           ^Mandatory  ^Type      ^Description   ^ ^Name           ^Mandatory  ^Type      ^Description   ^
 |rc             |Yes       |Integer   |[[en:girocheckout:errorcodes|Error codes]] | |rc             |Yes       |Integer   |[[en:girocheckout:errorcodes|Error codes]] |
-|msg            |Yes       |String    |Additional information in case of an error |+|msg            |Yes       |String(255)    |Additional information in case of an error |
 |projects       |Optional |Array     |List of the GiroCockpit projects with the elements Project Id (id), Projekt name (name), the number of the corresponding payment method (paymethod, see [[en:girocheckout:paypage:start#supported_payment_methods|List of payment methods]]) and the mode (mode) = TEST or LIVE. | |projects       |Optional |Array     |List of the GiroCockpit projects with the elements Project Id (id), Projekt name (name), the number of the corresponding payment method (paymethod, see [[en:girocheckout:paypage:start#supported_payment_methods|List of payment methods]]) and the mode (mode) = TEST or LIVE. |
 ^HEADER Parameters^^^^ ^HEADER Parameters^^^^
-|hash           |Yes       |String    |HMAC MD5 hash of all values of the response. See [[en:girocheckout:general:start#API_call_reply_to_the_merchant|hash on response]] |+|hash           |Yes       |String(32)    |HMAC MD5 hash of all values of the response. See [[en:girocheckout:general:start#API_call_reply_to_the_merchant|hash on response]] |
  
 == Example == == Example ==
Line 184: Line 184:
 |organization   |Optional |String(70)|Name of the organization offering the payment or donation page. If none specified, the merchant name from GiroCockpit is used.| |organization   |Optional |String(70)|Name of the organization offering the payment or donation page. If none specified, the merchant name from GiroCockpit is used.|
 |freeamount     |Optional |Integer   |Defines whether the payment page user may freely enter an amount (=1) or not (=0, default). | |freeamount     |Optional |Integer   |Defines whether the payment page user may freely enter an amount (=1) or not (=0, default). |
-|fixedvalues    |Optional |String    |JSON-encoded string that contains an array of all the amounts among which the user may select the one to be paid/donated, e.g. '["10000","20000","50050"]', all amounts are to be specified in cents.  If this field is empty, the content of the amount field is used as a only possible value. If this field contains values, the amount field is ignored! |+|fixedvalues    |Optional |JSON String    |JSON-encoded string that contains an array of all the amounts among which the user may select the one to be paid/donated, e.g. '["10000","20000","50050"]', all amounts are to be specified in cents.  If this field is empty, the content of the amount field is used as a only possible value. If this field contains values, the amount field is ignored! |
 |minamount      |Optional |Integer   |Minimum accepted value if free amount entry is allowed, i.e. freeamount=1. Specify the amount in the smallest currency unit, such as Cent, Penny, thus, without decimals. If this value is omitted, the default is 100 (meaning 1,00). | |minamount      |Optional |Integer   |Minimum accepted value if free amount entry is allowed, i.e. freeamount=1. Specify the amount in the smallest currency unit, such as Cent, Penny, thus, without decimals. If this value is omitted, the default is 100 (meaning 1,00). |
 |maxamount      |Optional |Integer   |Maximum accepted value if free amount entry is allowed, i.e. freeamount=1. Specify the amount in the smallest currency unit, such as Cent, Penny, thus, without decimals. | |maxamount      |Optional |Integer   |Maximum accepted value if free amount entry is allowed, i.e. freeamount=1. Specify the amount in the smallest currency unit, such as Cent, Penny, thus, without decimals. |
 |orderid        |Optional |String(20) |Only used when payment method is Paydirekt. If empty, the orderid is generated from the purpose field. Only sepa-compliant characters are allowed (see [[girocheckout:paypage:start#sepa_compliant_characters|SEPA-compliant characters]]) | |orderid        |Optional |String(20) |Only used when payment method is Paydirekt. If empty, the orderid is generated from the purpose field. Only sepa-compliant characters are allowed (see [[girocheckout:paypage:start#sepa_compliant_characters|SEPA-compliant characters]]) |
-|projectlist    |Optional |String    |JSON-encoded string, that contains an array of projects (strings=project names), for which the donation page accepts donations. Only makes sense if pagetype=2. | +|projectlist    |Optional |JSON String    |JSON-encoded string, that contains an array of projects (strings=project names), for which the donation page accepts donations. Only makes sense if pagetype=2. | 
-|pkn            |Optional |String    |This field allows the initialization of a new transaction without having to input the credit card or direct debit data again  (recurring payments). \\ create = generate new pseudo card number for the payment data (credit card or bank data) used in this transaction. |+|pkn            |Optional |String(50)    |This field allows the initialization of a new transaction without having to input the credit card or direct debit data again  (recurring payments). \\ create = generate new pseudo card number for the payment data (credit card or bank data) used in this transaction. |
 |test           |Yes  |Integer     |1 = Display payment methods that are in test mode \\ 0 = Display payment methods that are in Live mode | |test           |Yes  |Integer     |1 = Display payment methods that are in test mode \\ 0 = Display payment methods that are in Live mode |
 |certdata       |Optional  | Integer | 1 = Offer form for entering donation certificate data \\ 0 = Do not offer the form (default) | |certdata       |Optional  | Integer | 1 = Offer form for entering donation certificate data \\ 0 = Do not offer the form (default) |
-|otherpayments  |Optional  | String  | JSON-formatted array of objects, that allows for the integration of external payment methods into the payment page. Clicking on this payment method within the payment page, will redirect to the specified link directly, instead of being processed via the GiroCheckout gateway as in the case of the rest of the methods. Currently, only payment methods listed in the list of already supported payment methods are allowed here (see [[en:girocheckout:paypage:start#supported_payment_methods|Payment methods]]). \\ **Fields of the objects:** \\ **id**: Number of the payment method according to the list mentioned above. \\ **url**: Link to which the browser will be redirected on click. This link must contain everything that is required on behalf of the external payment provider (such as PayPal), so that the payment can be processed. The payment page does not carry out any string replacements or so. \\ **position**: Position that the new payment method will have within the full list of available payment methods on the page (>=1) \\ **Example (PayPal and credit card):** \\ <nowiki>[{"id":14, "url": "https://www.paypal.de/process/123456&param1=48399", "position":1}, {"id":11, "url":"https://www.visa.com/whatever", "position":2}]</nowiki>+|otherpayments  |Optional JSON String  | JSON-formatted array of objects, that allows for the integration of external payment methods into the payment page. Clicking on this payment method within the payment page, will redirect to the specified link directly, instead of being processed via the GiroCheckout gateway as in the case of the rest of the methods. Currently, only payment methods listed in the list of already supported payment methods are allowed here (see [[en:girocheckout:paypage:start#supported_payment_methods|Payment methods]]). \\ **Fields of the objects:** \\ **id**: Number of the payment method according to the list mentioned above. \\ **url**: Link to which the browser will be redirected on click. This link must contain everything that is required on behalf of the external payment provider (such as PayPal), so that the payment can be processed. The payment page does not carry out any string replacements or so. \\ **position**: Position that the new payment method will have within the full list of available payment methods on the page (>=1) \\ **Example (PayPal and credit card):** \\ <nowiki>[{"id":14, "url": "https://www.paypal.de/process/123456&param1=48399", "position":1}, {"id":11, "url":"https://www.visa.com/whatever", "position":2}]</nowiki>
-|paydirektShoppingCartType |Optional | String    |Type of the shopping cart for giropay and paydirekt payments (only new giropay-payments). The following values are allowed: \\ PHYSICAL = All goods in the cart are of a physical nature, \\ DIGITAL = All goods in the cart are of a digital nature (require no shipping), \\ MIXED = The cart contains both physical and digital goods (this is the default value should the parameter not be given), \\ ANONYMOUS_DONATION = This is an anonymous donation and not a commercial transaction (no address data necessary), \\ AUTHORITIES_PAYMENT = This is a payment for local authorities (no address data necessary). \\ If this parameter is not specified during initialization, but the buyer selects giropay or paydirekt as payment method, the following process is applied to set a default value: \\ 1) If this is a donation page as opposed to a payment page (pagetype=2), ANONYMOUS_DONATION is assumed. \\ 2) If the merchant is registered with S-Public Services as an authority, AUTHORITIES_PAYMENT is assumed. \\ 3) If the paydirekt address fields for first name, last name, postal code, city and country are set, MIXED is assumed. \\ 4) If none of the cases 1-3 are a match, MIXED is assumed as default and the fields mentioned above for MIXED expected to be given as well. | +|paydirektShoppingCartType |Optional | String(19)    |Type of the shopping cart for giropay and paydirekt payments (only new giropay-payments). The following values are allowed: \\ PHYSICAL = All goods in the cart are of a physical nature, \\ DIGITAL = All goods in the cart are of a digital nature (require no shipping), \\ MIXED = The cart contains both physical and digital goods (this is the default value should the parameter not be given), \\ ANONYMOUS_DONATION = This is an anonymous donation and not a commercial transaction (no address data necessary), \\ AUTHORITIES_PAYMENT = This is a payment for local authorities (no address data necessary). \\ If this parameter is not specified during initialization, but the buyer selects giropay or paydirekt as payment method, the following process is applied to set a default value: \\ 1) If this is a donation page as opposed to a payment page (pagetype=2), ANONYMOUS_DONATION is assumed. \\ 2) If the merchant is registered with S-Public Services as an authority, AUTHORITIES_PAYMENT is assumed. \\ 3) If the paydirekt address fields for first name, last name, postal code, city and country are set, MIXED is assumed. \\ 4) If none of the cases 1-3 are a match, MIXED is assumed as default and the fields mentioned above for MIXED expected to be given as well. | 
-|paydirektShippingFirstName |Optional  | String(100)  | First name for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL, DIGITAL and MIXED, optional for ANONYMOUS_DONATION and AUTHORITIES_PAYMENT) |  +|paydirektShippingFirstName |Optional  | String(100)  | First name for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL, DIGITAL and MIXED, optional for ANONYMOUS_DONATION and AUTHORITIES_PAYMENT). Permitted characters: All letters (UTF-8, also foreign), 0-9, the symbols %% .-!#$%&'*+/=?^_’`´{|}~"(),:;<>@[] %%, and blanks as well as line breaks. |  
-|paydirektShippingLastName  |Optional  | String(100)  | Last name for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL, DIGITAL and MIXED, optional for ANONYMOUS_DONATION and AUTHORITIES_PAYMENT) | +|paydirektShippingLastName  |Optional  | String(100)  | Last name for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL, DIGITAL and MIXED, optional for ANONYMOUS_DONATION and AUTHORITIES_PAYMENT). Permitted characters, see paydirektShippingFirstName. 
-|paydirektShippingCompany      |Optional   |String    | Company name for shipping address (only for giropay and paydirekt payments) | +|paydirektShippingCompany      |Optional   |String (100)   | Company name for shipping address (only for giropay and paydirekt payments). Permitted characters, see paydirektShippingFirstName. 
-|paydirektShippingAdditionalAddressInformation |Optional       |String | Additional address information for shipping address (only for giropay and paydirekt payments) | +|paydirektShippingAdditionalAddressInformation |Optional       |String(100) | Additional address information for shipping address (only for giropay and paydirekt payments). Permitted characters, see paydirektShippingFirstName. 
-|paydirektShippingStreet       |Optional      |String    | Street name for shipping address (only for giropay and paydirekt payments) | +|paydirektShippingStreet       |Optional      |String(100)    | Street name for shipping address (only for giropay and paydirekt payments). Permitted characters, see paydirektShippingFirstName. 
-|paydirektShippingStreetNumber |Optional    |String    | Street number for shipping address (only for giropay and paydirekt payments) | +|paydirektShippingStreetNumber |Optional    |String(10)    | Street number for shipping address (only for giropay and paydirekt payments). Permitted characters, see paydirektShippingFirstName. 
-|paydirektShippingZipCode  |Optional  | String(10)  | Zip code for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL and MIXED, optional for DIGITAL, ANONYMOUS_DONATION and AUTHORITIES_PAYMENT) | +|paydirektShippingZipCode  |Optional  | String(10)  | Zip code for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL and MIXED, optional for DIGITAL, ANONYMOUS_DONATION and AUTHORITIES_PAYMENT). Permitted characters, see paydirektShippingFirstName. 
-|paydirektShippingCity  |Optional  | String(100)  | City for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL and MIXED, optional for DIGITAL, ANONYMOUS_DONATION and AUTHORITIES_PAYMENT) | +|paydirektShippingCity  |Optional  | String(100)  | City for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL and MIXED, optional for DIGITAL, ANONYMOUS_DONATION and AUTHORITIES_PAYMENT). Permitted characters, see paydirektShippingFirstName. 
-|paydirektShippingCountry  |Optional  | String(2)  | Country code (ISO 2 chars) for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL and MIXED, optional for DIGITAL, ANONYMOUS_DONATION and AUTHORITIES_PAYMENT) | +|paydirektShippingCountry  |Optional  | String(2)  | Country code (ISO 2 chars) for shipping address (only for giropay and paydirekt payments, **Mandatory** for shopping cart types PHYSICAL and MIXED, optional for DIGITAL, ANONYMOUS_DONATION and AUTHORITIES_PAYMENT)
-|paydirektShippingEmail    |Optional  |String    | Email address of the buyer (only for giropay and paydirekt payments, **Mandatory** for DIGITAL shopping carts, optional for all others) |+|paydirektShippingEmail    |Optional  |String(255)   | Email address of the buyer (only for giropay and paydirekt payments, **Mandatory** for DIGITAL shopping carts, optional for all others) |
 |paydirektMerchantOrderReferenceNumber  |Optional         |String(20)    | Only for giropay payments. Additional information for the payment reconciliation for giropay payments, that is shown in the purpose on bank statements (only for type=SALE). Only characters that conform to the SEPA specification (see [[en:girocheckout:paypage:start#sepa_compliant_characters|SEPA compliant characters]]) are allowed. | |paydirektMerchantOrderReferenceNumber  |Optional         |String(20)    | Only for giropay payments. Additional information for the payment reconciliation for giropay payments, that is shown in the purpose on bank statements (only for type=SALE). Only characters that conform to the SEPA specification (see [[en:girocheckout:paypage:start#sepa_compliant_characters|SEPA compliant characters]]) are allowed. |
 |paydirektCart           |Optional      |JSON String | Only for giropay and paydirekt payments: All products in the shopping cart in the following format: [[en:girocheckout:paypage:start#cart_field|Description of cart field]] | |paydirektCart           |Optional      |JSON String | Only for giropay and paydirekt payments: All products in the shopping cart in the following format: [[en:girocheckout:paypage:start#cart_field|Description of cart field]] |
-|paydirektDeliveryType |Optional | String    | Only for giropay payments. The destination of a shipment. The default value is STANDARD. Possible values: \\ STANDARD: The goods are delivered to an ordinary postal address. \\ PACKSTATION: The goods are delivered to a self-service parcel terminal. \\ STORE_PICKUP: The goods are collected from the store. | +|paydirektDeliveryType |Optional | String(12)    | Only for giropay payments. The destination of a shipment. The default value is STANDARD. Possible values: \\ STANDARD: The goods are delivered to an ordinary postal address. \\ PACKSTATION: The goods are delivered to a self-service parcel terminal. \\ STORE_PICKUP: The goods are collected from the store. | 
-|successUrl     |Optional  |String      |URL where the customer is redirected to after successful payment. | +|successUrl     |Optional  |String(2048)      |URL where the customer is redirected to after successful payment. | 
-|backUrl        |Optional  |String      |URL where the customer is redirected to after clicking the Back button. | +|backUrl        |Optional  |String(2048)      |URL where the customer is redirected to after clicking the Back button. | 
-|failUrl        |Optional  |String      |URL where the customer is redirected to after a failed payment. | +|failUrl        |Optional  |String(2048)      |URL where the customer is redirected to after a failed payment. | 
-|notifyUrl      |Optional  |String      |URL where the payment notification is sent to via server to server communication. | +|notifyUrl      |Optional  |String(2048)      |URL where the payment notification is sent to via server to server communication. | 
-|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:paypage: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:paypage:start#d_secure_20_optional_fields_tds2optional|3D Secure 2.0 Optional Fields (tds2Optional)]]. |
 |mandateReference | optional |String(35)  | mandate reference \\ if nothing is specified, a unique number is generated. The reply includes the mandate reference number. \\ |mandateReference | optional |String(35)  | mandate reference \\ if nothing is specified, a unique number is generated. The reply includes the mandate reference number. \\
     numbers: 0 – 9       numbers: 0 – 9  
Line 231: Line 231:
 |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. |
 |qrcodeReturn  |Optional |Integer      |Optional field that causes the generation of a QR code for the payment link. The code is then returned as a base64 encoded string (PNG image) in the return parameter "qrcode" The value of qrcodeReturn is an integer between 1 and 20 and defines the size of the QR code (1=smallest size, 20=largest size). | |qrcodeReturn  |Optional |Integer      |Optional field that causes the generation of a QR code for the payment link. The code is then returned as a base64 encoded string (PNG image) in the return parameter "qrcode" The value of qrcodeReturn is an integer between 1 and 20 and defines the size of the QR code (1=smallest size, 20=largest size). |
-|hash           |Yes  |String      |HMAC MD5 hash of all the parameter values in the call. See  [[en:girocheckout:general:start#hash_generation|hash generation]] |+|hash           |Yes  |String(32)      |HMAC MD5 hash of all the parameter values in the call. See  [[en:girocheckout:general:start#hash_generation|hash generation]] |
  
 === SEPA compliant characters === === SEPA compliant characters ===
Line 260: Line 260:
  
 ^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(255) | 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(254) | 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 |String(2048) | 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 386: Line 386:
 ^Name           ^Mandatory  ^Type      ^Description   ^ ^Name           ^Mandatory  ^Type      ^Description   ^
 |rc             |Yes       |Integer   |[[en:girocheckout:errorcodes|Error codes]] | |rc             |Yes       |Integer   |[[en:girocheckout:errorcodes|Error codes]] |
-|msg            |Yes       |String    |Additional information in case of an error | +|msg            |Yes       |String(255)    |Additional information in case of an error | 
-|reference      |Optional  |String    |Unique payment page ID | +|reference      |Optional  |String(36)    |Unique payment page ID | 
-|url            |Optional  |String    |URL to the payment page, that the customer is to be redirected to.|+|url            |Optional  |String(255)    |URL to the payment page, that the customer is to be redirected to.|
 |qrcode         |Optional  |String    |Base64 encoded string, that contains a PNG image file with the QR code of the URL (see previous field). This field is only present when the parameter "qrcodeReturn" is specified during initialization. The size of the QR code is defined by a numerical value of 1-20 given in qrcodeReturn. | |qrcode         |Optional  |String    |Base64 encoded string, that contains a PNG image file with the QR code of the URL (see previous field). This field is only present when the parameter "qrcodeReturn" is specified during initialization. The size of the QR code is defined by a numerical value of 1-20 given in qrcodeReturn. |
 ^HEADER Parameters^^^^ ^HEADER Parameters^^^^
-|hash           |Yes       |String    |HMAC MD5 hash of all values of the response. See [[en:girocheckout:general:start#API_call_reply_to_the_merchant|hash on response]] |+|hash           |Yes       |String(32)    |HMAC MD5 hash of all values of the response. See [[en:girocheckout:general:start#API_call_reply_to_the_merchant|hash on response]] |
  
 == Example in case of success == == Example in case of success ==
Line 403: Line 403:
  
 ^Name           ^Mandatory        ^Type        ^Description   ^ ^Name           ^Mandatory        ^Type        ^Description   ^
-|name           |Yes             |String      | Article name | +|name           |Yes             |String(100)      | Article name | 
-|ean            |Optional       |String      | International artical number (EAN or GTIN) | +|ean            |Optional       |String(100)      | International artical number (EAN or GTIN) | 
-|quantity       |Yes             |Decimal     | Article quantity (integer) |+|quantity       |Yes             |Integer     | Article quantity (integer) |
 |grossAmount    |Optional       |Integer     | Gross amount of the article (price of each unit, if more than one), Bruttobetrag des Artikels, for currencies that use decimals, specify amount in the smallest unit, e.g. Cent, Penny  | |grossAmount    |Optional       |Integer     | Gross amount of the article (price of each unit, if more than one), Bruttobetrag des Artikels, for currencies that use decimals, specify amount in the smallest unit, e.g. Cent, Penny  |
  
Line 438: Line 438:
 ^Name             ^Mandatory    ^  Type        ^Description   ^ ^Name             ^Mandatory    ^  Type        ^Description   ^
 |gcPaymethod      |Yes       |Integer     | ID of the payment method of the transaction, see [[en:girocheckout:paypage:start#payment_methods|Payment methods]] | |gcPaymethod      |Yes       |Integer     | ID of the payment method of the transaction, see [[en:girocheckout:paypage:start#payment_methods|Payment methods]] |
-|gcType           |Yes       |String      | Transaction type: \\ SALE \\ AUTH | +|gcType           |Yes       |String(4)      | Transaction type: \\ SALE \\ AUTH | 
-|gcProjectId      |Yes       |String      | GiroCheckout project ID used for the transaction. | +|gcProjectId      |Yes       |String(10)      | GiroCheckout project ID used for the transaction. | 
-|gcReference      |Yes       |String      | GiroCheckout transaction ID | +|gcReference      |Yes       |String(36)      | 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(36)      | Payment processor transaction ID |
 |gcAmount         |Yes       |Integer     | For currencies with decimals, specify the amount in the smallest currency unit, such as Cent, Penny | |gcAmount         |Yes       |Integer     | For currencies with decimals, specify the amount in the smallest currency unit, such as Cent, Penny |
-|gcCurrency       |Yes       |String      | Currency |+|gcCurrency       |Yes       |String(3)      | Currency |
 |gcResultPayment  |Yes       |Integer     | [[en:girocheckout:resultcodes|Payment result codes]]| |gcResultPayment  |Yes       |Integer     | [[en:girocheckout:resultcodes|Payment result codes]]|
-|gcPkn            |Optional |String      | Pseudo card number if pkn is active | +|gcPkn            |Optional |String(50)      | Pseudo card number if pkn is active | 
-|gcCardnumber     |Optional |String      | Masked credit card number if pkn is active | +|gcCardnumber     |Optional |String(19)      | Masked credit card number if pkn is active | 
-|gcCardExpDate    |Optional |String      | Credit card expiration date in the format month/year if pkn is active | +|gcCardExpDate    |Optional |String(8)      | Credit card expiration date in the format month/year if pkn is active | 
-|gcAccountHolder  |Optional |String      | Account holder for direct debit if pkn is active | +|gcAccountHolder  |Optional |String(255)      | Account holder for direct debit if pkn is active | 
-|gcIban           |Optional |String      | IBAN for direct debit if pkn is active | +|gcIban           |Optional |String(36)      | IBAN for direct debit if pkn is active | 
-|gcHash           |Yes       |String      | HMAC MD5 hash on all values of the call. See  [[en:girocheckout:general:start#hash_generation|hash generation]] |+|gcHash           |Yes       |String(32)      | HMAC MD5 hash on all values of the call. See  [[en:girocheckout:general:start#hash_generation|hash generation]] |
  
 === Redirect === === Redirect ===
Line 517: Line 517:
 |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.|
-|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 530: Line 530:
 ^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(36)      | 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 ==
en/girocheckout/paypage/start.txt · Last modified: 2023/06/20 15:55