Integrate our products into your software. Let's make payment happen together!
Look at all the possibilitiesThe boarding resource is responsible for configuring merchants and their payment methods.
https://api.psp.ccv.eu/api/v1/referral
POST
Name | Required | Description |
---|---|---|
referralMerchantReference | Yes | A reference of the merchant in the domain of the referral |
name | Yes | The merchant name as provided by his contract |
street | No | The street of the merchants address |
postalCode | No | The postal code of the merchants address |
city | Yes | The city of the merchants address |
province | No | The province (state) of the merchants address |
country | Yes | The country of the merchants address formatted as an ISO-3166 alpha-3 country code. |
shopUrl | Yes | The URL displayed to the customer by his issuing bank Access Control System during 3-D Secure Transactions |
iban | Yes | The merchant’s International Bank Account Number (IBAN) |
testMmsProfileId | No | The profile id to use during screening of transactions with operating mode test by the mms. When empty, screening is skipped. |
liveMmsProfileId | No | The profile id to use during screening of transactions with operating mode live by the mms. When empty, screening is skipped. |
fraud | No | The merchant fraud configuration that is used during screening of transactions by the mms. See Fraud Config Request Object |
webshopMerchantReference | No | A reference of the merchant’s webshop. Forbidden characters: ; and \n . Used for billing. |
financeMerchantReference | No | A reference of the merchant inside a finance system (e.g. Navision). Forbidden characters: ; and \n . Used for billing. |
merchantGroup | No | Identifier used to group merchants by and to obtain or display combined transactions and configuration for multiple linked merchants. |
refundLimit | No | Indicates the maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . |
language | No | The language of the merchant. Possible values: eng , nld , fra , deu . Defaults to the default language per country |
entryMode | No | The entryMode to be used for the creation of the default test and live API Keys. Possible values: ecom or instore |
users | No | An array of user objects. Possible value: User Request Object |
methods | No | An array of method config objects. Possible values: Method Configuration Request Objects |
apiKeys | No | An array of API keys. Possible value: API Key Object. Omit this list to create default test and live API keys. Submit an empty list to create a merchant without API keys. Additional API keys can be added and existing API keys updated. |
webhooks | No | An array of webhook config objects. Only one entry per operating mode is allowed. |
enableWebhooks | No | A boolean to enable usage of both the configured webhooks and webhooks requested via each payment request. If disabled no webhooks will be sent for this merchant. Defaults to true |
testKeyRequestLimitPerSecond | No | An integer to specify the maximum requests allowed using the test key per second. Defaults to 1 per second. |
externalReferences | No | An array of external reference config objects. |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutFrequency | No | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
shopLocationIds | No | A comma separated list containing the shop location id’s for the merchant. |
Example
{
"referralMerchantReference": "shop_123",
"name": "Shop 123",
"city": "Hasselt",
"country": "BEL",
"shopUrl": "https://www.shop123.com",
"iban": "BE68539007547034",
"testMmsProfileId": "shop_123_test",
"liveMmsProfileId": "shop_123_live",
"webshopMerchantReference": "webshop_123",
"financeMerchantReference": "finance_123",
"refundLimit": 120,
"language": "nld",
"users": [
{
"username": "admin@shop123.com",
"password": "Password123.",
"language": "nld",
"firstname": "John",
"lastname": "Doe",
"locked": false,
"role": "ADMIN",
"timeZone": "Europe/Brussels"
}
],
"methods": [
{
"method": "card",
"brand": "mastercard",
"acquirer": "valitorpay",
"enabled": true,
"merchantid": "70414784",
"password": "8mhwavKVb91T",
"terminalid": "9105bb4f-ae68-4768-9c3b-3eda968f57ea",
"merchantcategorycode": "5542",
"merchantcountryoforigin": "BEL",
"3ds_skip": false,
"3ds_merchantoptionalproceed": false,
"3ds_acquirerbin": "424500",
"3ds_merchantid": "012345789"
},
{
"method": "card",
"brand": "bcmc",
"acquirer": "bancontact",
"enabled": true,
"3ds_skip": false,
"3ds_merchantoptionalproceed": false
},
{
"method": "ideal",
"enabled": true,
"merchantsubid": 0
},
{
"method": "sofort",
"enabled": true,
"customernumber": 118655,
"apikey": "83d562aa5d99fa75ea3e331d5fec812d",
"projectid": 243989
},
{
"method": "banktransfer",
"enabled": true
},
{
"method": "landingpage",
"enabled": true
},
{
"method": "paypal",
"enabled": true,
"username": "AdoEklAP9tbH4vsam99IeOXO-Nx2jd33dHPJot4yr-YWqxV6iEDMk_Q8AQktrw69rtSwHeq5VSIG4H8o",
"password": "EK-gDicILq-dB25vk3PW7SAkQTpOWYFPY8tpge-7Eca64QCaymJN19UmLai6ntk6MwS6BXBxBr7dqvac"
},
{
"method": "token",
"enabled": true,
"merchantkeyderivationkey": "SYSTEMS_TEST",
"merchantkeyderivationdata": "Systems_Test",
"merchantsaltderivationkey": "SYSTEMS_TEST_SALT",
"merchantsaltderivationdata": "Systems_Test",
"carddataurlenabled": false
},
{
"method": "giropay",
"enabled": true,
"merchantid": "123",
"giropaymerchantid": "yourgiropaymerchantid",
"projectid": "987654",
"projectpassphrase": "yourpassword"
},
{
"method": "terminal",
"enabled": true
},
{
"payout": "false",
"method": "ALIPAY",
"collecting": "true",
"enabled": "true",
"alipaypartnerid": "2088*********662",
"alipaysignaturekey": "i7rfk289natmibt6eagnqy2w8e78o7d0",
"alipaysecondarymerchantid": "SECONDARY_MERCHANT_001",
"alipaysecondarymerchantname": "secondaryMerchantName",
"alipaystoreid": "STORE_ID_001",
"alipaystorename": "someStoreName",
"merchantcategorycode": "5542"
},
{
"payout": "false",
"method": "KLARNA",
"enabled": "true",
"username": "username123",
"password": "Password123"
},
{
"method": "gift",
"giftacquirer": "CONNECT",
"enabled": "true",
"merchantid": "123",
"refundlimit": "100",
"partialpaymentenabled": "true"
}
],
"webhooks": [
{
"webhookUrl": "http://www.url.invalid/my/webhook/endpoint/live",
"enabled": true,
"operatingMode": "live"
},
{
"webhookUrl": "http://www.url.invalid/my/webhook/endpoint/test",
"enabled": true,
"operatingMode": "test"
}
],
"enableWebhooks": false,
"domainNames": ["https://www.shop123.be", "https://www.shop123-alt.be", "https://www.shop123.nl"]
}
Country | Default Language |
---|---|
Belgium | Dutch |
Netherlands | Dutch |
France | French |
Germany | German |
Switzerland | German |
Every other country | English |
Name | Required | Description |
---|---|---|
username | Yes | Username |
password | Yes | Password |
language | Yes | The language of the user. Possible values: eng , nld |
firstname | Yes | User firstname |
lastname | Yes | User lastname |
locked | Yes | If a user is locked, he will be unable to authenticate. Possible values: true or false |
role | No | The name of a role. The role groups a set of rights required to access the BackOffice. If no role is defined, an ADMIN role is assigned by default. |
timeZone | No | The time zone of the user as defined by IANA tz database name. Default UTC |
Example
{
"username": "admin@shop123.com",
"password": "Password123.",
"language": "nld",
"firstname": "John",
"lastname": "Doe",
"locked": false,
"role": "ADMIN",
"timeZone": "Europe/Brussels"
}
Name | Required | Description |
---|---|---|
key | No | they API key you wish to update. Value must be valid for an existing API key. If omitted a new API key will be created. Cannot be updated. |
operatingMode | No | The operating mode for this key. Possible values: test or live , defaults to test . Cannot be updated. |
expiration | No | the timestamp on which this API key shall expire and can no longer be used. |
entryMode | No | The entrymode for this key. Possible values: ecom or instore , defaults to request entryMode and otherwise to ecom . Cannot be updated. |
description | No | An optional description for this key. Not used functionally, this is purely only metadata. |
Example: create a new API key with expiration
{
"entryMode": "ecom",
"operatingMode": "test",
"expiration": 1728642603000,
"description": "API Key used by merchant in System X"
}
Example: update the expiration for an existing API key
{
"key": "<your merchant's API key>",
"expiration": 1728642603000
}
Example: update the description for an existing API key
{
"key": "<your merchant's API key>",
"description": "API Key used by merchant in System X"
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: card |
acquirer | Yes | Possible values: wirecard , amex , elavon , valitor , payvision or bancontact |
brand | Yes | If acquirer wirecard , elavon , valitor or payvision , a value of visa (this includes subbrands visaelectron and vpay ), mastercard or maestro is allowed. If bancontact the value bcmc is allowed. If acquirer amex , the value amex is allowed. |
enabled | No | Possible values: true or false . Defaults to true . |
merchantid | If acquirer is wirecard , elavon , bancontact , payvision , amex or valitor |
The merchant id as provided by his contract. Known as merchant-user for wirecard , as se-number for amex , as user-id for payvision and first 8 digit of agreement number for valitor . |
merchantsubid | If acquirer is valitor |
The merchant sub id as provided by his contract. Random generated by CCV of format AN up to 8 char for valitor . |
username | If acquirer is valitor |
The username as provided by his contract. Known as merchant-username for valitor . |
password | If acquirer is wirecard , payvision or valitor |
The password as provided by his contract. Known as merchant-password for wirecard and valitor and as user-password for payvision . |
terminalid | If acquirer is wirecard , elavon , bancontact , payvision or valitor |
The terminal id as provided by the merchant’s contract. Known as merchant-account-id for wirecard and as entity-id for payvision . Known as terminalid for valitor . Maximum length is 50. |
merchant_street | If acquirer is amex . If not provided, the merchants street must be set. |
The street of the merchant, including his house number |
merchant_zip | If acquirer is amex or bancontact . If not provided, the merchants postal code must be set. |
The zip code of the merchant |
merchant_province | If acquirer is amex or bancontact . If not provided, the merchants province must be set. |
The province of the merchant |
merchantcategorycode | If acquirer is amex , bancontact or valitor |
The merchant’s category code as provided by his contract |
merchantcountryoforigin | No. Used for acquirer valitor or valitorpay |
The merchant’s country of origin as a ISO-3166 alpha-3 country code. |
3ds_skip | Yes | If true , the merchant’s customers will not be required to authenticate possibly increasing his conversion. Possible values: true or false . |
3ds_merchantoptionalproceed | Yes | If true and the status of the authentication is unknown, the merchant’s customers will not be required to authenticate possibly increasing his conversion. Possible values: true or false . |
3ds_acquirerbin | If acquirer is wirecard , bancontact , payvision , valitor or amex |
The identification number of the acquirer within the 3-D Secure Directory |
3ds_merchantid | If acquirer is wirecard , bancontact , payvision , valitor or amex |
The identification of the merchant within the 3-D Secure Directory |
3ds_password | No | The password of the 3-D Secure merchant account if any |
3ds2_paymentenabled | No | If true , the merchant’s customers will be required to authenticate using the 3DS2 protocol for all Payment flows. Possible values: true or false . Defaults to false |
3ds2_nonpaymentenabled | No | If true , the merchant’s customers will be required to authenticate using the 3DS2 protocol for all non-payment flows. Possible values: true or false . Defaults to false |
3ds2_requestorid | No | The Requestor Id of the merchant within the 3-D Secure Directory. Will be generated for visa , bcmc , maestro and mastercard brands when not set |
3ds2_requestorname | No | The Requestor Name of the merchant within the 3-D Secure Directory. Will be generated for visa , bcmc , maestro and mastercard brands when not set |
3ds2_methodenabled | No | If true , the VPOS will execute the 3DS Method during an authentication. Possible values: true or false . Defaults to false |
3ds2_version | No | Specifies the 3DS Version that will be used during an authentication. Possible values: 2.1.0 or 2.2.0 . Defaults to 2.2.0 |
bep_enabled | No | If true , the merchant’s customers can authenticate using their mobile phone. Possible values: true or false , default false . Only applicable when acquirer is bancontact and brand is bcmc |
bep_acquirerid | No | The id of the acquirer in the BEP network. Only applicable and optional when acquirer is bancontact and brand is bcmc . |
bep_merchantid | Conditional | The acquirer defined merchant id in the BEP network. Only applicable and required when acquirer is bancontact and brand is bcmc |
bep_required | No | If true , the PSP will always return a QR-Code. If it isn’t able to do so, the transaction will fail. Possible values: true or false , default false |
carddataurlenabled | No | If true , the PSP will return a card data URL the merchant or the cardholder can use to send the card data. Possible values: true or false , default false |
merchantshortname | Conditional | If bep_enabled is true and the merchant name is longer than 25 characters, or if acquirer is valitor and and the merchant name is longer than 18 characters |
payout | No | Indicates if this method will perform a payout to the merchant. Only valid if this is a collecting protocol. Possible values: true or false |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | No | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
collecting | No | Indicates if this method is set in collecting or switching mode. Possible values: true or false . The value field is ignored if the brand does not support both switching and collecting. Default true if the brand supports collecting, otherwise false |
refundlimit | No | Indicates the maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . An empty or no tag means no refund limit. |
wip_enabled | No | If true , the merchant is allowed to perform Wallet Initiated Payments (WIP). Possible values: true or false , default false . Only applicable when acquirer is bancontact and brand is bcmc |
wip_merchantwalletid | No | Unique identifier assigned by the Payment Scheme Manager to the WIP merchant. Layout: 71xxxx. Only applicable when acquirer is bancontact , brand is bcmc and wip_enabled is true |
wip_merchanttokenvalue | No | Merchant WIP Token assigned by the Payment Scheme Manager to the WIP merchant. Layout: a suite of 8 bytes. Only applicable when acquirer is bancontact , brand is bcmc and wip_enabled is true |
requireauthenticationvaultusage | No | If true , customers will be required to authenticate when a Vault Access Token is used for a transaction. Possible values: true or false , default false |
wip_amountlimit | No | This is the maximum allowed amount for each individual Wallet Initiated Payment |
authenticationmethod | No | The authentication method used for acquirer Payvision. Possible values: BEARER , MID_AND_PASSWORD , USERNAME_AND_PASSWORD , UNKNOWN |
bearertoken | No | This is the token that will be used for Payvision when authenticationMethod is BEARER |
exposeconsumeraccountinformation | No | If true , the details in the response will contain the consumer account number and consumer bic. Defaults to false |
transactionriskanalysisexemptionavailable | No | If true the merchant may request the Transaction Risk Analysis exemption. Defaults to false . Only applicable when brand is amex , visa , mastercard or maestro |
lowvalueexemptionavailable | No | If true the merchant may request the Low Value exemption. Defaults to false . Only applicable when brand is amex , visa , mastercard or maestro |
securecorporatepaymentexemptionavailable | No | If true the merchant may request the Secure Corporate exemption. Defaults to false . Only applicable when brand is amex , visa , mastercard or maestro |
trustedbeneficiaryexemptionavailable | No | If true the merchant may request the Trusted Beneficiary exemption. Defaults to false . Only applicable when brand is amex , visa , mastercard or maestro |
allowtransactionwithexpiredcardfromvault | No | If true the merchant is allowed to do MIT transactions with expired cards from the vault |
Example VISA configuration
{
"method": "card",
"brand": "visa",
"acquirer": "wirecard",
"enabled": true,
"merchantid": "70000-APILUHN-CARD",
"password": "8mhwavKVb91T",
"terminalid": "9105bb4f-ae68-4768-9c3b-3eda968f57ea",
"3ds_skip": false,
"3ds_merchantoptionalproceed": false,
"3ds_acquirerbin": "424500",
"3ds_merchantid": "012345789",
"refundlimit": 120
}
Example BCMC by Bancontact configuration
{
"method": "card",
"brand": "bcmc",
"acquirer": "bancontact",
"enabled": true,
"merchantid": "109518543",
"terminalid": "KW000001",
"merchant_zip": "3500",
"3ds_skip": false,
"3ds_acquirerbin": "15124561",
"3ds_merchantid": "109518543",
"3ds_merchantoptionalproceed": false,
"refundlimit": 120
}
Example Visa by Valitor configuration
{
"payout": true,
"acquirer": "valitor",
"collecting": true,
"enabled": true,
"username": "654654sS",
"password": "8mhwavKVb91T",
"3ds_merchantoptionalproceed": true,
"brand": "visa",
"3ds_password": "egerge63",
"3ds_merchantid": "r61ggdt1661",
"method": "CARD",
"3ds_skip": false,
"3ds_acquirerbin": "15124561",
"terminalid": "9105bb4f-ae68-4768-9c3b-3eda968f57ea",
"merchantid": "00807092",
"merchantsubid": "ZHYGDKAO",
"merchantcategorycode": "5542",
"authenticationmethod": "USERNAME_AND_PASSWORD",
"3ds2_paymentenabled": true,
"3ds2_nonpaymentenabled": false
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: ideal |
enabled | No | Possible values: true or false . Defaults to true . |
merchantsubid | Yes | Unique identifier of the merchant used within iDEAL |
merchantcategorycode | Conditional | A 4 digit number used to classify a business by the types of goods or services it provides. Required when useapiversion2 is true |
payout | No | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | No | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
refundlimit | No | Indicates the maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . An empty or no tag means no refund limit. |
exposeconsumeraccountinformation | No | If true , the details in the response will contain the consumer account number and consumer bic. Defaults to false |
useapiversion2 | No | Indicates that iDeal Api Version V2 should be used. Defaults to false |
Example
{
"method": "ideal",
"enabled": true,
"merchantsubid": 0,
"refundlimit": 120,
"merchantcategorycode": "5542",
"useapiversion2": true
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: sofort |
enabled | No | Possible values: true or false . Defaults to true . |
customernumber | Yes | Sofort customer number |
apikey | Yes | API key as defined in the Sofort control center |
projectid | Yes | Sofort project identification number |
payout | No | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | No | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
refundlimit | No | Indicates the maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . An empty or no tag means no refund limit. |
Example
{
"method": "sofort",
"enabled": true,
"customernumber": 118655,
"apikey": "83d562aa5d99fa75ea3e331d5fec812d",
"projectid": 243989,
"refundlimit": 120
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: banktransfer |
enabled | No | Possible values: true or false . Defaults to true . |
payout | No | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | No | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
refundlimit | No | Indicates the maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . An empty or no tag means no refund limit. |
Example
{
"method": "banktransfer",
"enabled": true,
"refundlimit": 120
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: landingpage |
enabled | No | Possible values: true or false . Defaults to true . |
alloworiginator | No | Indicates if a merchant can request a payUrl that redirects to a bcmc card BEP urlIntent if a originator request parameter is present. Possible values: true or false |
usepaymentpagev2 | No | Indicates if a merchant wants to use the new payment page version 2. Possible values: true or false |
Example
{
"method": "landingpage",
"enabled": true
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: paypal |
enabled | No | Possible values: true or false . Defaults to true . |
username | Yes | Username of the merchant used within PayPal |
password | Yes | Password of the merchant used within PayPal |
refundlimit | No | Indicates the maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . An empty or no tag means no refund limit. |
useapiversion2 | No | Indicates that Paypal Api Version V2 should be used. Default: false |
Example
{
"method": "paypal",
"enabled": true,
"username": "AdoEklAP9tbH4vsam99IeOXO-Nx2jd33dHPJot4yr-YWqxV6iEDMk_Q8AQktrw69rtSwHeq5VSIG4H8o",
"password": "EK-gDicILq-dB25vk3PW7SAkQTpOWYFPY8tpge-7Eca64QCaymJN19UmLai6ntk6MwS6BXBxBr7dqvac",
"refundlimit": 120
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: token |
enabled | No | Possible values: true or false . Defaults to true . |
merchantkeyderivationkey | Yes | Merchant key derivation key |
merchantkeyderivationdata | Yes | Merchant key derivation data |
merchantsaltderivationkey | Yes | Merchant salt derivation key |
merchantsaltderivationdata | Yes | Merchant salt derivation data |
carddataurlenabled | No | If true , the PSP will return a card data URL the merchant or the cardholder can use to send the card data. Possible values: true or false , default false |
Example
{
"method": "token",
"enabled": true,
"merchantkeyderivationkey": "SYSTEMS_TEST",
"merchantkeyderivationdata": "Systems_Test",
"merchantsaltderivationkey": "SYSTEMS_TEST_SALT",
"merchantsaltderivationdata": "Systems_Test",
"carddataurlenabled": true
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: giropay |
enabled | No | Possible values: true or false . Defaults to true . |
merchantid | Yes | Unique identifier of the merchant used within GiroPay |
giropaymerchantid | Yes | Giropay merchant identifier within GiroPay |
projectid | Yes | Unique identifier of the project used within GiroPay |
projectpassphrase | Yes | The passphrase assigned to the project |
payout | No | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | No | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
refundlimit | No | Indicates the maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . An empty or no tag means no refund limit. |
exposeconsumeraccountinformation | No | If true , the details in the response will contain the consumer account number and consumer bic. Defaults to false |
Example
{
"method": "giropay",
"enabled": true,
"merchantid": "CCVtest123",
"giropaymerchantid": "yourgiropaymerchantid",
"projectid": "test123CCV",
"projectpassphrase": "yourpassword",
"refundlimit": 120
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: terminal |
enabled | No | Possible values: true or false . Defaults to true . |
allowunknownterminalid | No | Possible: true or false , default false |
validterminalidtmsidcombinations | No | A comma separated string of combinations of a terminal management system id and a terminal id linked by a colon. When allowunknownterminalid is false , this list is used to validate the tms id and terminal id. Both ids have a maximal length of 50. |
Example
{
"method": "terminal",
"enabled": true,
"allowunknownterminalid": false,
"validterminalidtmsidcombinations": "TmsId1:Terminal1,TmsId2:Terminal2"
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: vault |
enabled | No | Possible values: true or false . Defaults to true . |
expirationperiod | No | The expiration period for the vault, in days. Default is 30 . |
pcistoreenabled | No | Allows storing of vault data via directly sending the content to us. Possible values: true or false , default false |
storeenabled | No | Allows storing of vault data via our form. Possible values: true or false , default false |
decryptenabled | No | Allows decrypt of vault data. Possible values: true or false , default false |
expireatcardexpiry | No | When enabled the vault data will expire when the card expires. Overrides the default expiration time. Possible values: true or false , default false |
eraseenabled | No | Allows erase of vault data. Possible values: true or false , default false |
initiatetransactionenabled | No | Allows starting a transaction with vault content. Possible values: true or false , default false |
skipvalidationonenrollment | No | Cardholder authentication is skipped during Vault Enrollment when enabled. Possible values: true or false , default false |
carddataurlenabled | No | If true , the PSP will return a card data URL the merchant or the cardholder can use to send the card data. Possible values: true or false , default false |
vaultgroupreference | No | Merchants with the same group reference share the same vault. All tokens made by the merchant will belong to this group. In addition, anyone who belongs to this group can use these tokens. |
askcustomervaultstorepermission | No | Toggles asking the customer for permission for card transactions with storeInVault requested to allow vault storage. The outcome of the payment is not affected. Possible values: true or false , default false |
Example
{
"method": "vault",
"enabled": true,
"expirationperiod": 30,
"pcistoreenabled": true,
"storeenabled": false,
"decryptenabled": true,
"expireatcardexpiry": false,
"eraseenabled": true,
"initiatetransactionenabled": false,
"skipvalidationonenrollment": false,
"vaultgroupreference": "yourmerchantgroupreference"
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: payconiq |
enabled | No | Possible values: true or false . Defaults to true . |
apikey | Yes/No | API key as provided by Payconiq. Required for standard config, null for PaymentPartner |
payout | No | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | No | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
collecting | No | Indicates if this method is set in collecting or switching mode. Possible values: true or false . Default true . |
paymentpartner_enabled | No | Indicates if this method is set in standard or payment partner mode. Possible values true or false . Default false . |
merchantid | Yes/No | MerchantId from CCV as provided by Payconiq. Required for PaymentPartner |
merchantsubid | Yes/No | MerchantSubId from the merchant. Provided by CCV. Required for PaymentPartner |
paymentprofileid | Yes/No | PaymentProfileId as provided by Payconiq. Required for PaymentPartner |
merchantcategorycode | no | A 4 digit number used to classify a business by the types of goods or services it provides. |
merchantshortname | Conditional | If bep_enabled is true and the merchant name is longer than 22 characters. Merchant name used for QR-Code generation. Max 22 characters. |
nace | No | Nace code from the merchant |
terminalid | No | Terminal Id from the merchant used for INSTORE transactions. Maximum length is 50. |
Example
{
"method": "payconiq",
"enabled": true,
"apikey": "eyJ0eXAiOiJKV1QiLCJraWQiOiJwYXljb25pcSIsImFsZyI6IkVTMjU2In0.eyJzdWIiOiI1NjlmODI4OWMyNWM0MTAzYTM1OTdlYzgiLCJqdGkiOiIyOTdmNzhlMS02ZjVjLTRiZGItYjQ5Yi1kNjNhN2E4Yzg4YjMiLCJpYXQiOjE0OTYyMDc5NTUsImV4cCI6MTUyNzc0Mzk1NSwibmJmIjoxNDk2MjA3OTU1LCJ0b2tlblR5cGUiOiJUT0tFTiIsInN0eXBlIjoiTSJ9.PJUQJGJWbUNYPNbQz0O4DcqIn80z6LpkSr9ozzzPAHwJYbtB9I-YvFNhKvXbnaq7SNjL7PjuKUORKClwse-Ndw",
"collecting": true,
"paymentpartner_enabled": false
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: alipay |
enabled | No | Possible values: true or false . Defaults to true . |
alipaypartnerid | No | The partner ID. Will override default CCV partner ID when provided. |
alipaysignaturekey | No | Signature key used for signing requests. Will override default CCV signature key when provided. |
alipaysecondarymerchantid | Yes | Secondary Merchant ID. Used by Alipay to identify the merchant. |
alipaysecondarymerchantname | No | Secondary Merchant Name as configured in the Alipay system. Defaults to merchantName if not provided. |
alipaystoreid | Yes | Store ID. Used by Alipay to identify the specific store. |
alipaystorename | No | Store Name as configured in the Alipay system. Defaults to merchantName when not provided. |
payout | No | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
collecting | No | Indicates if this method is set in collecting or switching mode. Possible values: true or false . Default true . |
refundlimit | No | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . |
merchantcategorycode | yes | A 4 digit number used to classify a business by the types of goods or services it provides. |
Example
{
"payout": "false",
"method": "ALIPAY",
"collecting": "true",
"enabled": "true",
"alipaypartnerid": "2088*********662",
"alipaysignaturekey": "i7rfk289natmibt6eagnqy2w8e78o7d0",
"alipaysecondarymerchantid": "SECONDARY_MERCHANT_001",
"alipaysecondarymerchantname": "secondaryMerchantName",
"alipaystoreid": "STORE_ID_001",
"alipaystorename": "storeName",
"merchantcategorycode": "5542"
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: klarna |
enabled | No | Possible values: true or false . Defaults to true . |
username | Yes | The Klarna account username. |
password | Yes | The Klarna account password. |
refundlimit | No | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . |
payout | No | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
Example
{
"payout": "false",
"method": "KLARNA",
"enabled": "true",
"username": "username123",
"password": "password123"
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: gift |
enabled | No | Possible values: true or false . Defaults to true . |
merchantid | Yes | The Connect merchant id |
giftacquirer | Yes | The acquirer for the gift cards config. |
refundlimit | No | The maximum percentage of the original transaction that is allowed to be refunded fixed to 100 . |
partialpaymentenabled | No | If this method can be used to perform a partial payment. Default false . |
Example
{
"method": "GIFT",
"enabled": "true",
"giftacquirer": "CONNECT",
"refundLimit": 100,
"merchantid": "123",
"partialpaymentenabled": "false"
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: softpos |
enabled | No | Possible values: true or false . Defaults to true . |
allowunknownsoftposterminalid | No | Possible: true or false , default false |
validsoftposterminalidtmsidcombinations | No | A comma separated string of combinations of a SoftPos terminal management system id and a terminal id linked by a colon. Terminal ids must be unique. When allowunknownsoftposterminalid is false , this list is used to validate the tms id and SoftPos terminal id. Both ids have a maximal length of 50. |
Example
{
"method": "softpos",
"enabled": true,
"allowunknownsoftposterminalid": false,
"validsoftposterminalidtmsidcombinations": "TmsId1:Terminal1,TmsId2:Terminal2"
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: applepay |
acquirer | Yes | Possible values: valitorpay or bancontact |
brand | Yes | If acquirer valitorpay , a value of visa (this includes subbrands visaelectron and vpay ), mastercard or maestro is allowed. If bancontact the value bcmc is allowed. |
enabled | No | Possible values: true or false . Defaults to true . |
merchantcategorycode | If acquirer is bancontact |
The merchant’s category code as provided by his contract |
merchantcountryoforigin | No. Used for acquirer valitorpay |
The merchant’s country of origin as a ISO-3166 alpha-3 country code. |
apiKey | If acquirer is valitorpay |
The API key that should be used in the communication with ValitorPay. |
agreementnumber | If acquirer is valitorpay |
The agreement number that should be used in the communication with ValitorPay. Max 6 characters. |
terminalid | Yes | The terminal id that should be used in the communication with the acquirer. |
merchantsubid | Yes | The merchantId that should be used in the communication with the acquirer. |
merchantshortname | No | Merchant name used for sending to acquirer in case the normal merchant name is longer than 18 characters. Max 18 characters. |
merchantid | No | The merchantId as registered with Apple. Only needed for HPP or when the merchant uses CCVs Apple ID. Max 255 characters. |
paymentprocessingpassword | Yes | The password from the PKCS12 Payment Processing file. |
paymentprocessingcertificate | Yes | The Payment Processing certificate from Apple. This should be sent as the hexdump of the PKCS12 format that includes both the key and certificate. |
merchantidentitypassword | No | The password from the PKCS12 Merchant identity file. This is an optional field. Only needed for HPP or when the merchant uses CCVs Apple ID. |
merchantidentitycertificate | No | The Merchant identity certificate from Apple. This should be sent as the hexdump of the PKCS12 format that includes both the key and certificate. This is an optional field. Only needed for HPP or when the merchant uses CCVs Apple ID. |
refundlimit | No | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . |
payout | No | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | No | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
payoutdelay | No | Only applies when payout is true . Indicates the minimum number of days that needs to pass from the transaction date before a payout can be done. |
exposeconsumeraccountinformation | No | If true , the details in the response will contain the consumer account number and consumer bic. Defaults to false |
Example
{
"method": "applepay",
"enabled": true,
"apiKey": "Prefix.0N52xxxT5xxXxMxxxPb2+kxXxRhEXxXx9iIPzxxXHsU=",
"merchantshortname": "My Little Pony",
"merchantid": "MerchantID123",
"paymentprocessingpassword": "password",
"paymentprocessingcertificate": "3082073C0201033082070306092A864.....3082073C0201033082070306092A864"
}
Name | Required | Description |
---|---|---|
method | Yes | Fixed value: googlepay |
acquirer | Yes | Possible values: valitorpay |
brand | Yes | For acquirer valitorpay a value of visa (this includes subbrands visaelectron and vpay ), mastercard or maestro is allowed. |
enabled | No | Possible values: true or false . Defaults to true . |
merchantcategorycode | Yes | The merchant’s category code as provided by his contract |
merchantcountryoforigin | No | The merchant’s country of origin as a ISO-3166 alpha-3 country code. |
merchantorigin | Yes | The fully qualified domain name of the merchant who makes the request. |
apiKey | Yes | The API key that should be used in the communication with ValitorPay. |
agreementnumber | Yes | The agreement number that should be used in the communication with ValitorPay. Max 6 characters. |
terminalid | Yes | The terminal id that should be used in the communication with the acquirer. |
merchantsubid | Yes | The merchantId that should be used in the communication with the acquirer. |
merchantshortname | No | Merchant name used for sending to acquirer in case the normal merchant name is longer than 18 characters. Max 18 characters. |
merchantid | No | The merchantId as registered with Google. Only needed for HPP or when the merchant uses CCVs Google ID. Max 255 characters. |
refundlimit | No | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . |
payout | No | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | No | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | No | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET. |
payoutfrequency | No | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
payoutdelay | No | Only applies when payout is true . Indicates the minimum number of days that needs to pass from the transaction date before a payout can be done. |
Example
{
"method": "googlepay",
"enabled": true,
"apiKey": "Prefix.0N52xxxT5xxXxMxxxPb2+kxXxRhEXxXx9iIPzxxXHsU=",
"merchantshortname": "My Larger Pony",
"merchantorigin": "www.storename.com",
"merchantid": "MerchantID123",
"merchantcategorycode": "5532",
"merchantcountryoforigin": "BEL",
"agreementnumber": "447201",
"merchantsubid": "34784411",
"terminalid": "39714781"
}
Name | Required | Engine | Description |
---|---|---|---|
engine | No | All | The fraud engine to use for screening. Possible values: mms or riskshield . Default is mms . |
revenueAmount | No | mms |
The estimated revenue with decimals, e.g. 100.01 , over some revenueDuration . When empty, all revenue related checks are skipped. |
revenueDuration | No | mms |
The amount of time in ISO 8601 Duration. |
revenueAmountYearlyEst | No | All | The estimated yearly revenue without decimals, e.g. 1000 . |
amountHighestEst | No | All | The estimated highest amount without decimals, e.g. 500 . |
amountAvgEst | No | All | The estimated average amount without decimals, e.g. 100 . |
riskCategory | No | All | The category of risk. Possible values: low , normal , high , unacceptable . |
originatingCountry | No | All | The originating country of the merchant formatted as an ISO-3166 alpha-3 country code. |
startDate | No | All | The start date of the merchant. Expressed in yyyy-MM-dd . |
Example
{
"engine": "mms",
"revenueAmount": 100.01,
"revenueDuration": "P0Y1M0DT0H0M0.000S",
"revenueAmountYearlyEst": 1000,
"amountHighestEst": 500,
"amountAvgEst": 100,
"riskCategory": "low",
"originatingCountry": "bel",
"startDate": "2019-03-09"
}
Name | Required | Description |
---|---|---|
webhookUrl | Yes | The URL to which a call can be made. This URL should be reachable by the PSP. |
enabled | Yes | Possible values: true or false |
operatingMode | Yes | The operating mode for which this webhook should be triggered. Possible values: test or live |
Example
{
"webhookUrl": "http://www.url.invalid/my/webhook/endpoint",
"enabled": true,
"operatingMode": "live"
}
Name | Required | Description |
---|---|---|
reference | Yes | The external reference. Needs to be unique for a given host. |
host | Yes | The name of the host system which defines this reference. (e.g. MyCCV ) |
Example
{
"reference": "123456",
"host": "MyCCV"
}
To allow Split Payout, merchants need to be linked to each other.
Please note that the individual merchants need to be boarded first.
This resource can be used for inserting and updating.
https://api.psp.ccv.eu/api/v1/referral/submerchants
POST
https://api.psp.ccv.eu/api/v1/referral/submerchants
GET
Name | Required | Description |
---|---|---|
externalReference | Yes | The reference of the link between super and sub merchant |
https://api.psp.ccv.eu/api/v1/referral
GET
Name | Required | Description |
---|---|---|
referralMerchantReference | Yes | A reference of the merchant in the domain of the referral |
Example
curl https://api.psp.ccv.eu/api/v1/referral?referralMerchantReference=shop_123 -u r_referralkey:
A SoftPos terminal can be activated or deactivated. Eg. when a terminal is stolen, it can be deactivated and is unable to do any transactions. This functionality is exposed through the Referral API because you should not use a merchant’s API Key to activate / deactivate a terminal. This responsibility lies with the referral admin.
https://api.psp.ccv.eu/api/v1/referral/softpos/terminal/{terminalId}/activate
POST
application/json
https://api.psp.ccv.eu/api/v1/referral/softpos/terminal/{terminalId}/deactivate
POST
application/json
Name | Description |
---|---|
referralMerchantReference | A reference of the merchant in the domain of the referral |
referralReference | A reference of the referral associated with this merchant. Echo from the API key’s referral reference. |
name | The merchant name as provided by his contract |
city | Merchant city |
country | An ISO-3166 alpha-3 country code representing the country of the merchant |
shopUrl | The URL to redirect the customer to after completion of payments (both success and failure scenario’s) |
iban | The merchant’s International Bank Account Number (IBAN) |
webshopMerchantReference | A reference of the merchant’s webshop. Used for billing. |
financeMerchantReference | A reference of the merchant inside a finance system (e.g. Navision). Used for billing. |
payout | Indicates if collecting protocols will perform a payout to the merchant. This value is true if one of the enabled methods is available for payout. Possible values: true or false |
refundLimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . When the tag is not present, this means there is no limit. |
language | The language of the merchant. Possible values: eng , nld , fra , deu |
users | An array of users. Possible value: User Object |
webhooks | An array of webhook config objects. Only one entry per operating mode is allowed. Possible values: Webhook Config Object |
methods | An array of method config objects. Possible values: Method Config Objects |
apiKeys | An array of API keys. Possible value: API Key Object |
externalReferences | An array of external references. Possible value: External Reference Config Object |
Name | Description |
---|---|
username | Username |
role | The name of the role, by default ADMIN |
language | The language of the user. Possible values: eng , nld |
firstname | User firstname |
lastname | User lastname |
locked | If a user is locked, he will be unable to authenticate. Possible values: true or false |
Name | Description |
---|---|
method | Fixed value: card |
acquirer | Possible values: wirecard , amex , elavon , payvision or bancontact |
brand | If acquirer wirecard , elavon or payvision , the value visa (this includes subbrands visaelectron and vpay ), mastercard or maestro . If acquirer bancontact the value bcmc . If acquirer amex , the value amex . |
enabled | Possible values: true or false |
merchantid | The merchant id as provided by his contract. Also known as merchant user for Wirecard. Also known as SE Number for American Express. Also known as UserId for Payvision. Required when acquirer is wirecard , elavon , bancontact , payvision or amex . |
merchantsubid | The merchant sub id as provided by his contract. |
username | The username as provided by his contract. Known as merchant-username for valitor . |
password | The password of the merchant’s terminal as provided by his contract. Also known as merchant password for Wirecard. Required when acquirer is wirecard . |
terminalid | The terminal id as provided by the merchant’s contract. Also known as merchant account id for Wirecard. Also known as entityId for Payvision. Required when acquirer is wirecard , elavon , bancontact or payvision . |
merchant_street | The street of the merchant, including his house number. Required when acquirer is amex . If not available, the merchants street is used processing. |
merchant_zip | The zip code of the merchant. Required when acquirer is amex or bancontact . If not available, the merchants postal code is used during processing. |
merchant_province | The province of the merchant. Required when acquirer is amex . If not available, the merchants province is used during processing. |
merchantcategorycode | As provided by his contract. Required when acquirer is amex or bancontact . |
merchantcountryoforigin | The merchant’s country of origin as a ISO-3166 alpha-3 country code. |
3ds_skip | If true , the merchant’s customers will not be required to authenticate possibly increasing his conversion. Possible values: true or false |
3ds_merchantoptionalproceed | If true and the status of the authentication is unknown, the merchant’s customers will not be required to authenticate possibly increasing his conversion. Possible values: true or false |
3ds_acquirerbin | The identification number of the acquirer within the 3-D Secure Directory |
3ds_merchantid | The identification of the merchant within the 3-D Secure Directory |
3ds_password | The password of the 3-D Secure merchant account if any |
3ds2_paymentenabled | If true , the merchant’s customers will be required to authenticate using the 3DS2 protocol for all Payment flows. Possible values: true or false . Defaults to false |
3ds2_nonpaymentenabled | If true , the merchant’s customers will be required to authenticate using the 3DS2 protocol for all non-payment flows. Possible values: true or false . Defaults to false |
3ds2_requestorid | The Requestor Id of the merchant within the 3-D Secure Directory. Will be generated for visa , bcmc , maestro and mastercard brands when not set |
3ds2_requestorname | The Requestor Name of the merchant within the 3-D Secure Directory. Will be generated for visa , bcmc , maestro and mastercard brands when not set |
bep_enabled | If true , the merchant’s customers can authenticate using their mobile phone. Possible values: true or false . Only applicable when acquirer is bancontact and brand is bcmc |
bep_acquirerid | The id of the acquirer in the BEP network. Only applicable and optional when acquirer is bancontact and brand is bcmc . |
bep_merchantid | The acquirer defined merchant id in the BEP network. Only applicable and required when acquirer is bancontact and brand is bcmc |
bep_required | If true , the PSP will always return a QR-Code. If it isn’t able to do so, the transaction will fail. Possible values: true or false , default false |
carddataurlenabled | If true , the PSP will return a card data URL the merchant or the cardholder can use to send the card data. Possible values: true or false , default false |
merchantshortname | Merchant name used for QR-Code generation if merchant name is longer than 25 characters. Max 25 characters. |
payout | Indicates if this method will perform a payout to the merchant. Only valid if this is a collecting protocol. Possible values: true or false |
payoutgrouping | Only applied when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
collecting | Indicates if this method is set in collecting or switching mode. Possible values: true or false . |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . When the tag is not present, this means there is no limit. |
transactionriskanalysisexemptionavailable | If true the merchant may request the Transaction Risk Analysis exemption. |
lowvalueexemptionavailable | If true the merchant may request the Low Value exemption. |
securecorporatepaymentexemptionavailable | If true the merchant may request the Secure Corporate exemption. |
trustedbeneficiaryexemptionavailable | If true the merchant may request the Trusted Beneficiary exemption. |
allowtransactionwithexpiredcardfromvault | If true the merchant is allowed to do MIT transactions with expired cards from the vault |
Name | Description |
---|---|
method | Fixed value: ideal |
enabled | Possible values: true or false |
merchantsubid | Unique identifier of the merchant used within iDEAL |
merchantid | The merchant id of the iDEAL account. Fixed value: 005095014 |
payout | Indicates if this method will perform a payout to the merchant. Only valid if this is a collecting protocol. Possible values: true or false |
payoutgrouping | Only applied when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
collecting | Always true as iDeal is always collecting. |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . When the tag is not present, this means there is no limit. |
Name | Description |
---|---|
method | Fixed value: banktransfer |
enabled | Possible values: true or false |
payout | Indicates if this method will perform a payout to the merchant. Only valid if this is a collecting protocol. Possible values: true or false |
payoutgrouping | Only applied when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
collecting | Always true as bank transfer is always collecting. |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . When the tag is not present, this means there is no limit. |
exposeconsumeraccountinformation | If true , the details in the response will contain the consumer account number and consumer bic. Defaults to false . Defaults to false |
Name | Description |
---|---|
method | Fixed value: landingpage |
enabled | Possible values: true or false |
alloworiginator | Indicates if a merchant can request a payUrl that redirects to a bcmc card BEP urlIntent if a originator request parameter is present. Possible values: true or false |
usepaymentpagev2 | Indicates if a merchant wants to use the new payment page version 2. Possible values: true or false |
Name | Description |
---|---|
method | Fixed value: paypal |
enabled | Possible values: true or false |
username | Username of the merchant used within PayPal |
password | Password of the merchant used within PayPal |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . When the tag is not present, this means there is no limit. |
collecting | Always false as Paypal is always switching. |
Name | Description |
---|---|
method | Fixed value: token |
enabled | Possible values: true or false |
merchantkeyderivationkey | Merchant key derivation key |
merchantkeyderivationdata | Merchant key derivation data |
merchantsaltderivationkey | Merchant salt derivation key |
merchantsaltderivationdata | Merchant salt derivation data |
carddataurlenabled | No. If true , the PSP will return a card data URL the merchant or the cardholder can use to send the card data. Possible values: true or false , default false |
Name | Description |
---|---|
method | Fixed value: giropay |
enabled | Possible values: true or false |
projectid | Unique identifier of the project used within GiroPay |
projectpassphrase | The passphrase assigned to the project |
merchantid | Unique identifier of the merchant id used within GiroPay |
giropaymerchantid | Giropay merchant identifier within GiroPay |
payout | Indicates if this method will perform a payout to the merchant. Only valid if this is a collecting protocol. Possible values: true or false |
payoutgrouping | Only applied when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transsaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
collecting | Always true as GiroPay is always collecting. |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . When the tag is not present, this means there is no limit. |
Name | Description |
---|---|
method | Fixed value: sofort |
enabled | Possible values: true or false |
customernumber | Sofort customer number |
apikey | API key as defined in the Sofort control center |
projectid | Sofort project identification number |
payout | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | Only applied when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
collecting | Always true as Sofort is always collecting. |
refundlimit | Indicates the maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . An empty or no tag means no refund limit. |
Name | Description |
---|---|
method | Fixed value: terminal |
enabled | Possible values: true or false |
allowunknownterminalid | Possible: true or false , default false |
validterminalidtmsidcombinations | A comma separated string of combinations of a terminal management system id and a terminal id linked by a colon. When allowunknownterminalid is false , this list is used to validate the tms id and terminal id. Both ids have a maximal length of 50. |
Name | Description |
---|---|
method | Fixed value: vault |
enabled | Possible values: true or false |
expirationperiod | The expiration period for the vault, in days. |
pcistoreenabled | Allows storing of vault data via directly sending the content to us. Possible values: true or false . |
storeenabled | Allows storing of vault data via our form. Possible values: true or false . |
decryptenabled | Allows decrypt of vault data. Possible values: true or false . |
expireatcardexpiry | When enabled the vault data will expire when the card expires. Overrides the default expiration time. Possible values: true or false . |
eraseenabled | Allows erase of vault data. Possible values: true or false . |
initiatetransactionenabled | Allows starting a transaction with vault content. Possible values: true or false . |
skipvalidationonenrollment | Cardholder authentication is skipped during Vault Enrollment when enabled. Possible values: true or false , default false |
vaultgroupreference | Merchants with the same group reference share the same vault. All tokens made by the merchant will belong to this group. In addition, anyone who belongs to this group can use these tokens. |
askcustomervaultstorepermission | Toggles asking the customer for permission for card transactions with storeInVault requested to allow vault storage. The outcome of the payment is not affected. Possible values: true or false , default false |
Name | Description |
---|---|
method | Fixed value: payconiq |
enabled | Possible values: true or false |
apikey | API key as provided by Payconiq |
collecting | Indicates if this method is set in collecting or switching mode. Possible values: true or false . |
payout | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | Only applied when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
merchantsubid | MerchantSubId from the merchant. Provided by CCV. Required for PaymentPartner |
paymentpartner_enabled | Indicates if this method is set in standard or payment partner mode. Possible values true or false . Default false . |
terminalid | Terminal Id from the merchant used for INSTORE transactions. |
merchantid | MerchantId from CCV as provided by Payconiq. Required for PaymentPartner |
paymentprofileid | PaymentProfileId as provided by Payconiq. Required for PaymentPartner |
merchantcategorycode | A 4 digit number used to classify a business by the types of goods or services it provides. |
merchantshortname | Merchant name used for QR-Code generation if merchant name is longer than 22 characters. Max 22 characters. |
Name | Description |
---|---|
method | Fixed value: alipay |
enabled | Possible values: true or false |
alipaypartnerid | The alipay partner ID. Will override default CCV partner ID when provided. |
alipaysignaturekey | Signature key used for signing requests. Will override default CCV signature key when provided. |
alipaysecondarymerchantid | Secondary Merchant ID. Used by Alipay to identify the merchant. |
alipaysecondarymerchantname | Secondary Merchant Name. Used by Alipay to identify the merchant. |
alipaystoreid | Store ID. Used by Alipay to identify the specific store. |
alipaystorename | Store Name. Used by Alipay to identify the specific store. |
payout | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
collecting | Indicates if this method is set in collecting or switching mode. Possible values: true or false . Default true . |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . |
merchantcategorycode | A 4 digit number used to classify a business by the types of goods or services it provides. |
Name | Description |
---|---|
method | Fixed value: klarna |
enabled | Possible values: true or false |
username | The Klarna account username.. |
password | The Klarna account password. |
payout | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . |
Name | Description |
---|---|
method | Fixed value: gift |
enabled | Possible values: true or false |
giftacquirer | The acquirer for the gift cards config. |
merchantid | The Connect merchant id |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded up to 100 . Example: 80 . |
partialpaymentenabled | If this method can be used to perform a partial payment. Default false . |
Name | Description |
---|---|
method | Fixed value: applepay |
enabled | Possible values: true or false |
merchantshortname | Merchant name used for sending to acquirer in case the normal merchant name is longer than 18 characters. Max 18 characters. |
merchantid | The merchantid as registered with Apple. Only needed for HPP or when the merchant uses CCVs Apple ID. |
merchantcategorycode | As provided by his contract. |
merchantcountryoforigin | The merchant’s country of origin as a ISO-3166 alpha-3 country code. |
paymentprocessingpassword | The password for the Payment Processing PKCS12 File. |
paymentprocessingcertificate | The Payment Processing certificate from Apple. This certificate is the output of the xdd command of the PKCS12 file. |
merchantidentitypassword | The password for the Merchant identity PKCS12 File. Only needed for HPP or when the merchant uses CCVs Apple ID. |
merchantidentitycertificate | The Merchant identity certificate from Apple. This certificate is the output of the xdd command of the PKCS12 file. Only needed for HPP or when the merchant uses CCVs Apple ID. |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . |
payout | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
payoutdelay | Only applies when payout is true . Indicates the minimum number of days that needs to pass from the transaction date before a payout can be done. |
exposeconsumeraccountinformation | If true , the details in the response will contain the consumer account number and consumer bic. Defaults to false |
Name | Description |
---|---|
method | Fixed value: googlepay |
enabled | Possible values: true or false |
merchantshortname | Merchant name used for sending to acquirer in case the normal merchant name is longer than 18 characters. Max 18 characters. |
merchantorigin | The fully qualified domain name of the merchant who makes the request. |
merchantid | The merchantid as registered with Apple. Only needed for HPP or when the merchant uses CCVs Apple ID. |
refundlimit | The maximum percentage of the original transaction that is allowed to be refunded. Example: 120 . |
merchantcategorycode | As provided by his contract. |
merchantcountryoforigin | The merchant’s country of origin as a ISO-3166 alpha-3 country code. |
internalmerchantreference | An identifier generated by the PSP to uniquely identify a merchant. The value should be communicated to the merchant as the gatewayMerchantId and is used as part of the token request towards Google Pay. |
payout | Indicates if this method will perform a payout to the merchant. Possible values: true or false |
payoutgrouping | Only applies when payout is true . Indicates how to group transactions in the payout file by the selected period. Possible value: daily , transaction . Defaults to creating a standard ungrouped transaction file. |
payoutgroupingTimeZone | Only applies when payout is true . Indicates the timezone as defined by IANA tz database name. for the Payout Grouping option. Eg. Daily with CET |
payoutfrequency | Only applies when payout is true . Indicates when a payout will happen for the merchant. Possible value: daily , weekly , monthly , two_weekly . Defaults to daily. Other values are ‘Once every week, month, every 2 weeks’. |
payoutdelay | Only applies when payout is true . Indicates the minimum number of days that needs to pass from the transaction date before a payout can be done. |
Name | Description |
---|---|
reference | The external reference. Needs to be unique for a given host. |
host | The name of the host system which defines this reference. |
Name | Description |
---|---|
engine | The fraud engine to use for screening. Possible values: mms or riskshield . Default is mms . |
revenueAmount | The estimated revenue with decimals over some duration , e.g. 100.01 |
revenueDuration | The amount of time in ISO 8601 Duration. |
revenueAmountYearlyEst | The estimated yearly revenue without decimals, e.g. 1000 . |
amountHighestEst | The estimated highest amount without decimals, e.g. 500 . |
amountAvgEst | The estimated average amount without decimals, e.g. 100 . |
riskCategory | The category of risk. Possible values: low , normal , high , unacceptable . |
originatingCountry | The orginating country of the merchant formatted as an ISO-3166 alpha-3 country code. |
startDate | The start date of the merchant. Expressed in yyyy-MM-dd . |
Name | Description |
---|---|
webhookUrl | The URL to which a call can be made. This URL should be reachable by the PSP. |
enabled | Possible values: true or false |
operatingMode | The operating mode for which this webhook should be triggered. Possible values: test or live |
Name | Description |
---|---|
key | they API key |
operatingMode | The operating mode for this key. Possible values: test or live . |
entryMode | The entrymode for this key. Possible values: ecom or instore . |
expiration | the timestamp on which this API key shall expire and can no longer be used. |
testMmsProfileId | The profile id to use during screening of transactions with operating mode test by the mms. When empty, screening is skipped. |
liveMmsProfileId | The profile id to use during screening of transactions with operating mode live by the mms. When empty, screening is skipped. |
requestLimitPerSecond | The maximum requests allowed per second. |
Name | Required | Description |
---|---|---|
referralSuperMerchantReference | Yes | Referral reference of the super merchant |
referralSubMerchantReference | Yes | Referral reference of the sub merchant |
externalReference | Yes | PSP unique reference of the link between the super and sub-merchant |
enabled | No | Indicates if the link is active and can be used for payout instructions |
Example
{
"externalReference": "33007f24-3089-11eb-adc1-0242ac120002",
"referralSubMerchantReference": "3ef1af74-3089-11eb-adc1-0242ac120002",
"referralSuperMerchantReference": "4232c9d4-3089-11eb-adc1-0242ac120002",
"enabled": true
}
Name | Required | Description |
---|---|---|
referralMerchantReference | Yes | Referral reference of the merchant |
managementSystemId | No | The TMS Id of the terminal |
Example
{
"managementSystemId": "123456",
"referralMerchantReference": "someReferralReference"
}
Column | Description |
---|---|
referralReference | The referral of the merchant of the transaction |
merchantName | The merchant name as provided by his contract |
merchantCountry | An ISO-3166 alpha-3 country code representing the country of the merchant |
merchantReferralReference | A reference of the merchant in the domain of the referral |
merchantFinanceReference | A reference of the merchant in the finance domain of the referral. Used for billing. |
merchantWebshopReference | A reference of the merchant in the webshop domain of the referral. Forbidden characters: ; and \n . Used for billing. |
id | The numeric ID of the transaction |
mode | The operating mode of the API key used to create the transaction |
type | The transaction type. Possible values: sale , refund , token , and credit |
reference | The generated reference for this transaction |
merchantOrderReference | The reference provided by the merchant for this transaction |
currency | An ISO 4217 three-letter code. Possible values: Currencies |
amount | The amount with decimals, e.g. 10.00 |
method | The payment method that the customer chooses. Possible values: Supported Methods |
brand | Only for card transactions. Possible values: Supported Brands |
status | Possible values: Transaction Status |
created | The date & time in ISO 8601 |
entryMode | The entrymode for this key. Possible values: ecom or instore . |
acquirerName | Possible values: wirecard , amex , elavon , payvision or bancontact |
collecting | Indicates if this method is set in collecting or switching mode. Possible values: true or false . Default null . |
acquirerPaymentMethod | Acquirer of the payment method. Possible values: wirecard , amex , elavon , payvision or bancontact |
deviceType | The Device-Type that was provided in the header. |
failureCode | A value detailing the reason for transaction failure. only present for transactions with status failed . Possible values: Failure Codes |
merchantGroup | Identifier used to group merchants by and to obtain or display combined transactions and configuration for multiple linked merchants. |
https://api.psp.ccv.eu/api/v1/referral/transaction/export/csv
GET
Name | Required | Description |
---|---|---|
from | Conditional | The inclusive start of the period for the export as an epoch timestamp in milliseconds. Must be used with until. |
until | Conditional | The exclusive end of the period for the export as an epoch timestamp in milliseconds. Must be used with from. |
paidoutAfter | Conditional | Returns payments paidout after this timestamp, including payments with this paidout timestamp. Must be used with paidoutBefore. |
paidoutBefore | Conditional | Returns payments paidout before this timestamp, excluding payments with this paidout timestamp. Must be used with paidoutAfter. |
mode | No | The operating mode of the transactions. Possible values: TEST or LIVE . Default: LIVE |
status | No | The status of the transactions. Possible values. Default: success |
referralMerchantReference | No | A reference of the merchant in the domain of the referral |
Example
curl https://api.psp.ccv.eu/api/v1/referral/transaction/export/csv\?from\=1467331200000\&until\=1470009600000 -u r_nl: --basic -o "export.nl.juli.csv"
Example
referralReference,merchantName,merchantCountry,merchantReferralReference,merchantFinanceReference,merchantWebshopReference,id,mode,type,reference,merchantOrderReference,currency,amount,method,brand,status,created,entryMode,acquirerName,collecting,acquirerPaymentMethod,deviceType,failureCode,merchantGroup,
ccv.nl,CCV Lab,BEL,12345,12345,12345,1341585,LIVE,SALE,I160812155909096CB87E191.1,35624c57-352b-4569-8807-0e75b83405db,EUR,0.10,IDEAL,,FAILED,2016-08-12T13:59:09.712Z,,,,,,,,EXPIRED,SupaDupaGroup,
ccv.nl,CCV Lab,BEL,12345,12345,12345,12345,LIVE,SALE,I160812102139590CB87E191.1,dfd51765-97e9-45c2-ba9d-8b5fbd097afb,EUR,0.10,IDEAL,,FAILED,2016-08-12T08:21:39.979Z,,,,,,,,CANCELLED,SupaDupaGroup,