FinDock Payment API (v2)
The FinDock Payment API is a REST API used to initiate online transactions and/or submit recurring payments to the FinDock application residing in a Salesforce Org. The API aims to abstract away both Salesforce and FinDock configuration details for specific payment processors and methods. The API instead provides several informational resources to retrieve environment-specific parameters of a particular Salesforce implementation. These resources can be used to make the front-end application environment and configuration agnostic.
If you are just starting to work with the API, please see:
Since our API is created for Salesforce implementations, there are some Salesforce-specific things to take into account.
Alongside the primitive datatypes such as String
, the Payment API uses several datatypes that might be unknown to you if you are not familiar with Salesforce or the Force.com platform.
The data types that are only applied in Salesforce contexts are Salesforce Objects (sObjects) and Record Types and fields.
sObjects
sObjects are objects that can be stored in the Force.com platform database. They are representations of data that persists in the Salesforce database.
Some API resources accept, or even require, sObjects. The Payer
object, for example, requires sObjects such as Contact
and Account
.
The API allows you to define these objects in requests, as shown below, where both a Contact
and an Account
sObject are defined.
FinDock objects like PaymentProfile
can be used in the same way, but require you to specify the fields as salesforce fields.
Example body of a request for creating a Contact and an Account sObject:
{
"SuccessURL":"http://success.com",
"FailureURL":"http://failure.com",
"Payer":{
"Contact":{
"SalesforceFields":{
"FirstName":"Eric",
"LastName":"Johnson",
"Email":"eric@johnson.com",
"MailingStreet":"Rocket Rd",
"MailingCity":"Hawthorne0",
"MailingPostalCode":"CA 90250",
"MobilePhone":"98989898"
}
},
"Account":{
"SalesforceFields":{
"Name":"Johnson Family",
"Website":"www.spacex.com",
"BillingStreet":"Rocket Rd",
"BillingCity":"Hawthorne",
"BillingPostalCode":"CA 90250"
}
}
}
}
Record Types
Record types let Salesforce administrators offer different business processes, picklist values, and page layouts to different users.
Organizations can, for example, differentiate between Account
objects in Salesforce by assigning them either to the Record Type of Organization
or Household
.
This facilitates the application of different types of page layouts or possible field values based on what
Record Type an Account
is. Your Salesforce Administrator can tell you more about the Record Types used in the Salesforce org.
Salesforce Fields
Next to the out-of-the-box Salesforce data model, Salesforce allows administrators to add custom fields to objects in Salesforce.
All fields can be seen in the Salesforce Object Manager of the Salesforce org setup. Also, different implementations of Salesforce can use different fields for a value like email
.
The API allows you to send Salesforce fields, and their corresponding values, as attributes in requests to the API.
Custom fields for standard Salesforce objects like Contact
and Account
are passed with "__c" at the end.
For illustration, we have added the standard fields FirstName
and LastName
and the custom field TwitterHandle
to the Salesforce Contact
object.
TwitterHandle | TwitterHandle__c | Text(50)
{
"Payer":{
"Contact":{
"SalesforceFields":{
"FirstName":"Eric",
"LastName":"Johnson",
"TwitterHandle__c": "@EricJohnsonSalesforce"
}
}
}
}
Custom fields for custom FinDock objects like Installment
and Recurring Payment
can also be passed in a SalesforceFields
object. SalesforceFields
passed in the OneTime
object are copied to the Installment
record in Salesforce and SalesforceFields
passed in the Recurring
object are copied to the Recurring
object in Salesforce. What Recurring
object the values are stored to depends on whether you use a Source Connector.
{
"OneTime":{
"Amount": 10.0,
"SalesforceFields": {
"Sales_Invoice__c": "a506E0000009TfL"
}
}
}
Authentication is accomplished through an Oauth2.0 authorization flow. Each Salesforce environment requires its own token. A refresh token can be used to acquire a new access token if the current token has expired.
Read more on how to authenticate to Salesforce in the Salesforce developer guide.
Both client_id
and client_secret
can be acquired from the Salesforce 'Setup' from a 'Connected App'.
- The
Authorization
token can be passed as a Bearer token in the request Header. - To Acquire a new
Authorization
token with the returnedRefresh
token, please make sure to pass the rightgrant_type
,client_id
,client_secret
andrefresh_token
as specified in the Salesforce documentation referenced above. To get up and running quickly, use the (unofficial-but-provided-by) Salesforce Postman Collection, as explained in this blog and look for the 'auth' folder.
When the API was not called successfully, you will receive a HTTP Status Code 4xx
or 500
. Specifically a 422
code is returned when the message was well-formed, but could not be processed because of - for instance - wrong data.
In the response you will find additional information on how to prevent or handle the error through an array of Errors
with an error_code
and error_message
.
Example of a successful request (to the SourceConnector Provisioning API):
{
"SourceConnectors": [
{
"Name": "PaymentHub",
"PrettyName": "PaymentHub",
"IsDefault": false
}
]
}
Example of an error that is returned whenever an incorrect request is sent:
{
"Errors": [
{
"error_message": "Amount can't be 0 or negative",
"error_code": "020"
}
]
}
Full list of possible response codes:
ResponseCode | Description |
---|---|
010 | Malformed request: missing one or more mandatory core parameter(s) |
011 | Malformed request: missing one or more mandatory Payment Processor parameters |
012 | Malformed request: missing one or more mandatory SourceConnector parameters |
200 | Invalid data: the supplied data is incorrect (e.g. an invalid e-mail address) |
201 | Sort code or bank account invalid (BACS Direct Debit schema) |
202 | IBAN |
203 | Provided IBAN is not in SEPA Schemes' Geographical Scope |
204 | BIC is required to collect SEPA Direct Debit from a non-EAA country bank account. |
205 | Street, Housename or Number, Zip code and City are required to collect SEPA Direct Debit from a non-EEA country bank account. |
098 | An object is missing and no default is specified |
999 | Error without specific category: consult the error_message for details |
For more information on errors and response codes and debugging the API, please read our Troubleshooting the Payment API article.
To receive updates on payments created with the /PaymentIntent
endpoint:
- pass an endpoint URL in the
WebhookURL
parameter in the request body. - add your URL to the Remote Site Setting of the Salesforce environment.
FinDock sends you notifications for the following events around your API call:
Event | Description |
---|---|
paymentIntent.created |
When the processing of your API call has started in the Salesforce environment. |
paymentIntent.processed |
When the processing of your API call has finished successfully. Note: this does not mean that the payment has been collected! |
paymentIntent.in_review |
When the processing of your API call has stalled and manual intervention from Salesforce side has been requested. Note: this will not stop the customer from completing the payment flow! |
paymentIntent.failed |
When the processing of your API call has failed and needs to be handled in the Salesforce environment. Note: this will not stop the customer from completing the payment flow! |
installment.created |
When an Installment (expected one-time payment) is created. |
installment.status_change |
If the status of the One Time Payment (Installment record in Salesforce) changes, either by an update from a PSP or manually |
No specific events are sent around Recurring payments other than the
paymentIntent
which contains the Salesforce Id of the Recurring record.
For more information about the processing of online payments, please visit our Processing online payments article.
Webhook content
For paymentIntent
you will receive notifications with the following body. Each event contains a type
and a data
object with further details.
Check out the PaymentIntent object description for definitions.
{
"type": "paymentIntent.processed",
"data": {
"Status": "Matched",
"Recurring": {
"Url": "/services/data/v48.0/sobjects/cpm__Recurring_Payment__c/a0V3X00000S7b5YUAR",
"Type": "cpm__Recurring_Payment__c",
"Id": "a0V3X00000S7b5YUAR"
},
"Payer": {
"Contact": {
"Url": "/services/data/v48.0/sobjects/Contact/0033X00003H9uZPQAZ",
"Type": "Contact",
"Id": "0033X00003H9uZPQAZ",
"Name": "Eric Johnson"
},
"Account": {
"Url": "/services/data/v48.0/sobjects/Account/0013X00002bZPGIQA4",
"Type": "Account",
"Id": "0013X00002bZPGIQA4",
"Name": "Johnson Family"
}
},
"OneTime": {
"Url": "/services/data/v48.0/sobjects/cpm__Installment__c/a083X00001mFTBAQA4",
"Type": "cpm__Installment__c",
"Id": "a083X00001mFTBAQA4",
"Status": "Pending"
},
"Id": "pi_6cazikr7625yqt9mf"
}
}
For installment
you will receive a notification with the following body.
{
"type": "installment",
"data": {
"Url": "/services/data/v48.0/sobjects/cpm__Installment__c/a083X00001kJynLQAS",
"Type": "cpm__Installment__c",
"Id": "a083X00001kJynLQAS",
"Target": "Adyen1",
"Status": "Collected",
"RecordTypeName": "Receivable",
"PayUrl": "https://link.dev.findock.com/pay/3xxxxmuai2/8897b4da-e48a-7ff3-90dd-ecb65094802c",
"Payments": [
{
"Url": "/services/data/v48.0/sobjects/cpm__Payment__c/a0R3X00000V1sutUAB",
"Type": "cpm__Payment__c",
"Id": "a0R3X00000V1sutUAB",
"PaymentProcessor": "PaymentHub-Adyen",
"PaymentMethod": "CreditCard",
"CollectionDate": "2020-11-26",
"Amount": 15
}
],
"PaymentProcessor": "PaymentHub-Adyen",
"PaymentMethod": "CreditCard",
"PaymentIntentId": "pi_5jthokq7z8som0w6o",
"AmountOpen": 0,
"Amount": 15
}
}
The /PaymentIntent
endpoint allows for Payments to be initiated through a configured Salesforce environment and updates Salesforce data accordingly.
The PaymentIntent API requires a Payment Method, Payment Processor and Source Connector to perform a successful request. The available Payment Method, Processors and Source Connectors for a specific Salesforce environment can be queried through their specific endpoints. Some Payment Methods enable or require further Package Actions. Be sure to include these in the request.
It is also possible to perform Payments on existing Installments.
Id | string The Payment Intent Id. Can also be found on the Inbound Report record in Salesforce. |
Status | string Enum: "New" "Processing" "Guided Review" "Matched" "Failed" The Payment Intent Status. |
IdempotencyKey | string (IdempotencyKey) The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. This is useful when an API call is disrupted in transit and you do not receive a response. An idempotency key is a unique value generated by the client which the server uses to recognize subsequent retries of the same request. How you create unique keys is up to you, but we suggest using V4 UUIDs, or another random string with enough entropy to avoid collisions. |
SuccessURL | string <url> (SuccessURL) The URL the user will be redirected to when a transaction has been completed successfully. |
FailureURL | string <url> (FailureURL) The URL the user will be redirected to when a transaction has failed or has been cancelled. |
WebhookURL | string <url> (WebhookURL) URL where you want to receive notifications on the status of the Payment request on. More information on the Webhook can be found here. |
Origin | string (Origin) The origin of the payment, e.g. Webform-1. This information can be used when building customized follow-up logic in Salesforce. |
CampaignId | string (CampaignId) Id of a Campaign in Salesforce. When a valid value is passed, the Campaign will be linked to the Installment or Recurring payment in Salesforce. |
object (Payer) Data on the paying party. Can be an existing or new | |
object (OneTime) Data on new or existing Single Payment. Stored | |
object (Recurring) Data on new Recurring Payment. | |
object (PaymentIntentPaymentMethod) Data on how the Payment will be performed. Includes a.o. the Payment Method, Payment Processor, Target and additional Parameters required to perform the Payment. | |
object (PaymentIntentSettings) Data on how the Payment should be processed in Salesforce. Includes the Source Connector and additional Parameters like | |
SalesforceFields | object (InboundReportSalesforceFields) The SalesforceFields block is used to pass Salesforce Fields and values that have been created on the object in Salesforce. To find out which Salesforce Fields have been configured, check the 'Object Manager' in the Salesforce Setup. |
Array of objects (PackageAction) [ items ] A list of additional actions to be performed when making this request. More information about Package Actions can - if available - be found in our Extension and Source Connector documentation. |
{- "Id": "pi_1hubybk7nh45rvbt6",
- "Status": "Matched",
- "IdempotencyKey": "1hubybk7nh45rvbt6",
- "WebhookURL": "www.findock.com/api/endpoint",
- "Origin": "Webform",
- "CampaignId": "7013X000001mAZbQAM",
- "Payer": {
- "Contact": {
- "Url": "/services/data/v48.0/sobjects/Contact/0031j00000baD73AAE",
- "Id": "a0P3X00000WjR8AUAV",
- "RecordTypeName": "Donor",
- "SalesforceFields": {
- "FirstName": "Eric",
- "LastName": "Johnson",
- "Email": "test@findock.com",
- "MailingStreet": "Rocket Rd",
- "MailingCity": "Hawthorne",
- "MailingPostalCode": "CA 90250",
- "MobilePhone": "98989898"
}
}, - "Account": {
- "Url": "/services/data/v48.0/sobjects/Account/0011j00000itNdlAAE",
- "Id": "a0P3X00000WjR8AUAV",
- "RecordTypeName": "Household",
- "SalesforceFields": {
- "Name": "Johnson Family",
- "BillingStreet": "Rocket Rd",
- "BillingCity": "Hawthorne",
- "BillingPostalCode": "CA 90250"
}
}
}, - "OneTime": {
- "Status": "Outstanding",
- "Url": "/services/data/36.0/sobjects/a083X00001aUMCnQAO",
- "Id": "a083X00001aUMCnQAO",
- "Type": "cpm__Installment__c",
- "Amount": 10,
- "CurrencyISOCode": "EUR",
- "RecordTypeName": "string",
- "SalesforceFields": {
- "cpm__any_findock_or_package_field__c": "Lorem Ipsum Dolor sit amet",
- "any_custom_object_link__c": "7010Y000000dDSQ"
}
}, - "Recurring": {
- "Url": "/services/data/v48.0/sobjects/cpm__Recurring_Payment__c/a0V3X00000RKBZmUAP",
- "Id": "a0V3X00000S7BuCUAV",
- "Type": "cpm__Recurring_Payment__c",
- "Amount": 10,
- "CurrencyISOCode": "EUR",
- "Frequency": "Monthly",
- "RecordTypeName": "string",
- "StartDate": "2020-01-01",
- "EndDate": "2021-01-01",
- "SalesforceFields": {
- "cpm__any_findock_or_package_field__c": "Lorem Ipsum Dolor sit amet",
- "any_custom_object_link__c": "7010Y000000dDSQ"
}
}, - "PaymentMethod": {
- "Name": "Direct Debit",
- "Processor": "PaymentHub-SEPA",
- "Target": "PRIMARY-BANK-ACCOUNT",
- "Parameters": [
- {
- "Required": true,
- "Name": "issuer",
- "Description": "The issuer of the card or online banking account. Used to skip processor selection page for iDEAL payments.",
- "DataType": "String",
- "Enum": [
- {
- "value": "abnamro",
- "label": "ABN AMRO",
}
]
}
]
}, - "Settings": {
- "SourceConnector": "PaymentHub-for-NPSP",
- "ProcessingType": "Default"
}, - "SalesforceFields": {
- "cpm__Campaign__c": "a070Y000005M7t6",
- "cpm__Origin__c": "My Form"
}, - "PackageActions": [
- {
- "PackageName": "PaymentHub-GiftAid",
- "actions": {
- "name": "CreateGiftAidDeclaration",
- "Parameters": [
- {
- "Required": true,
- "Name": "issuer",
- "Description": "The issuer of the card or online banking account. Used to skip processor selection page for iDEAL payments.",
- "DataType": "String",
- "Enum": [
- {
- "value": "abnamro",
- "label": "ABN AMRO",
}
]
}
]
}
}
]
}
Initiate a new payment
The FinDock Payment API supports both one-time and recurring payments. To perform recurring payments, a 'Recurring' block replaces the 'OneTime' block in the request. Some Payment Service Providers (PSPs) require an initial payment AND recurring payment in the same request for authorization of the transaction. You can find out whether this is the case for a specific Payment Processor through the GET /PaymentMethod and GET /PaymentProcessors endpoints. Please see the specific Payment Extension documentation on the details of performing a one-time and/or recurring payment. To perform payments on an existing Installment, simply remove the Payer block and add the Id of the Installment to the OneTime block.
Request Body schema: application/json
required | object (NewPaymentRequest) Create a new one-time Payment. |
SuccessURL required | string <url> (SuccessURL) The URL the user will be redirected to when a transaction has been completed successfully. |
FailureURL required | string <url> (FailureURL) The URL the user will be redirected to when a transaction has failed or has been cancelled. |
required | object (PayerRequest) Specifies the Payer of the Payment. You can either pass Contact and / or Account fields like |
object (PaymentMethodRequest) Data on how the Payment will be performed. |
Responses
Request samples
- Payload
{- "OneTime": {
- "Amount": 10
}, - "Payer": {
- "Contact": {
- "SalesforceFields": {
- "FirstName": "Eric",
- "LastName": "Johnson",
- "Email": "test@findock.com",
- "MailingStreet": "Rocket Rd",
- "MailingCity": "Hawthorne",
- "MailingPostalCode": "CA 90250",
- "MobilePhone": "98989898"
}
}
}, - "PaymentMethod": {
- "Name": "Direct Debit",
- "Parameters": {
- "iban": "NL44ABNA6333227641",
- "holderName": "Eric Johnson"
}
}
}
Response samples
- 200
- 400
- 422
- 500
{- "Id": "pi_1hubybk7nh45rvbt6",
- "PaymentMethod": {
- "Name": "Direct Debit",
- "Processor": "PaymentHub-SEPA",
- "Target": "PRIMARY-BANK-ACCOUNT",
- "Parameters": {
- "iban": "NL44ABNA6333227641",
- "holderName": "Eric Johnson"
}
}, - "Settings": {
- "SourceConnector": "PaymentHub-for-NPSP",
- "ProcessingType": "Default"
},
}
Retrieve payment status
Returns the status of a specific payment. Response will contain data on what One-time or Recurring payments have been created. For One-time payments, further information can be retrieved by performing a GET request on the /Installment endpoint with the Id
of the One-time object of type cpm__Installment__c
provided in the response. If Payer data like Contact
and Account
was created or found in Salesforce, this data is also provided.
path Parameters
ID required | string Example: pi_1hubybk7nh45rvbt6 The Id of the PaymentIntent to retrieve. |
Responses
Response samples
- 200
- 400
- 422
- 500
{- "Id": "pi_1hubybk7nh45rvbt6",
- "Status": "Matched",
- "Payer": {
- "Contact": {
- "Url": "/services/data/v48.0/sobjects/Contact/0031j00000baD73AAE",
- "Type": "Contact",
- "Id": "a0P3X00000WjR8AUAV",
- "Name": "Eric Johnson"
}, - "Account": {
- "Url": "/services/data/v48.0/sobjects/Account/0011j00000itNdlAAE",
- "Type": "Account",
- "Id": "a0P3X00000WjR8AUAV",
- "Name": "Johnson Family"
}
}, - "OneTime": {
- "Url": "/services/data/36.0/sobjects/a083X00001aUMCnQAO",
- "Type": "cpm__Installment__c",
- "Id": "a083X00001aUMCnQAO",
- "Status": "Outstanding"
}
}
The /Installment
endpoint allows you to retrieve detailed information on an Installment. Installments are the FinDock data-in-Salesforce equivalent of a One-time payment. All One-time payments created through the API become Installments, however Installments can also be created through other channels. These non-API Installments can also be queried through this endpoint.
The response includes a list of all Payments (cash movements) that have been performed in relation to this Installment. An Installment can be collected through several payments with different processors and payment methods.
Id | string The Salesforce record Id of the Installment. |
GUID | string The Salesforce GUID of the Installment. |
Url | string The Salesforce URL of the Installment. |
Type | string The Salesforce object type. |
Status | string Enum: "New" "Partially paid" "Failed" "Pending recollection" "Pending" "Refunded" "Cancelled" "Outstanding" "Rejected" "Reversed" "Collected" The status of the installment. For more information on Installment statuses, please visit the documentation. |
Amount | number (Amount) The amount to be collected. |
AmountOpen | number The amount that is still to be collected: represents initial amount substracted by amount paid. |
Target | string The name of the target that has been configured in Salesforce. A target can be a bank account or an account with a PSP. |
RecordTypeName | string The Salesforce 'Installment' RecordType. e.g. 'Receivable' for positive and 'Payable' for negative payments in a standard FinDock implementation. |
PayUrl | string URL that can be used to pay this Installment. This can be a PayLinks or Tikkie URL. Read more about PayLinks here. |
PaymentProcessor | string The name of the Payment Processor. |
PaymentMethod | string The name of the Payment Method, e.g. |
PaymentIntentId | string The Payment Intent Id. Can also be found on the Inbound Report record in Salesforce. |
Array of objects (Payment) [ items ] |
{- "Id": "a083X00001aUMCnQAO",
- "GUID": "sdfasdf-asfads-242134-adsfadf-23423",
- "Url": "/services/data/36.0/sobjects/a083X00001aUMCnQAO",
- "Type": "cpm__Installment__c",
- "Status": "Collected",
- "Amount": 10,
- "AmountOpen": 0,
- "Target": "PRIMARY-BANK-ACCOUNT",
- "RecordTypeName": "Receivable",
- "PaymentProcessor": "PaymentHub-SEPA",
- "PaymentMethod": "Direct Debit",
- "PaymentIntentId": "pi_1hubybk7nh45rvbt6",
- "Payments": [
- {
- "Id": "a0R3X00000V20tbUAB",
- "Url": "/services/data/v48.0/sobjects/cpm__Payment__c/a0R3X00000V20tbUAB",
- "Type": "cpm__Payment__c",
- "Target": "PRIMARY-BANK-ACCOUNT",
- "PaymentProcessor": "PaymentHub-SEPA",
- "PaymentMethod": "Direct Debit",
- "CollectionDate": "2020-12-10",
- "Amount": 10
}
]
}
Retrieve OneTime/Installment details
Returns detailed information - including status and underlying individual payments - of an Installment record in Salesforce. Installment records can be created by passing a OneTime
object to the PaymentIntent endpoint.
path Parameters
ID required | string Example: a083X00001aUMCnQAO The record Id or GUID of the Installment to retrieve. |
Responses
Response samples
- 200
- 400
- 422
- 500
{- "Id": "a083X00001aUMCnQAO",
- "GUID": "sdfasdf-asfads-242134-adsfadf-23423",
- "Url": "/services/data/36.0/sobjects/a083X00001aUMCnQAO",
- "Type": "cpm__Installment__c",
- "Status": "Collected",
- "Amount": 10,
- "AmountOpen": 0,
- "Target": "PRIMARY-BANK-ACCOUNT",
- "RecordTypeName": "Receivable",
- "PaymentProcessor": "PaymentHub-SEPA",
- "PaymentMethod": "Direct Debit",
- "PaymentIntentId": "pi_1hubybk7nh45rvbt6",
- "Payments": [
- {
- "Id": "a0R3X00000V20tbUAB",
- "Url": "/services/data/v48.0/sobjects/cpm__Payment__c/a0R3X00000V20tbUAB",
- "Type": "cpm__Payment__c",
- "Target": "PRIMARY-BANK-ACCOUNT",
- "PaymentProcessor": "PaymentHub-SEPA",
- "PaymentMethod": "Direct Debit",
- "CollectionDate": "2020-12-10",
- "Amount": 10
}
]
}
Informational resource that returns a list of all available and active payment methods, and the active processors that have those payment methods enabled. Payment Methods range from Direct Debit, to Credit Card and various Online payments through Payment Service Providers (PSPs).
Name | string The name of the Payment Method, e.g. |
Array of objects (Processor) [ items ] Which Payment Processors can be used to perform payments with this Payment Method. |
{- "Name": "Direct Debit",
- "Processors": [
- {
- "Name": "PaymentHub-SEPA",
- "IsDefault": true,
- "Targets": [
- {
- "Name": "PRIMARY-BANK-ACCOUNT",
- "publicTarget": "PaymentHub-SEPA"
}
], - "Parameters": [
- {
- "Required": true,
- "Name": "issuer",
- "Description": "The issuer of the card or online banking account. Used to skip processor selection page for iDEAL payments.",
- "DataType": "String",
- "Enum": [
- {
- "value": "abnamro",
- "label": "ABN AMRO",
}
]
}
], - "SupportsRecurring": true,
- "RecurringRequiresInitialPayment": false
}
]
}
Retrieve Payment Methods
Return a list of payment methods configured in the Salesforce environment and related Payment Processors.
Responses
Response samples
- 200
- 400
- 422
- 500
{- "PaymentMethods": {
- "Name": "Direct Debit",
- "Processors": [
- {
- "SupportsRecurring": true,
- "RecurringRequiresInitialPayment": false,
- "Parameters": [
- {
- "Required": true,
- "Name": "issuer",
- "Description": "The issuer of the card or online banking account. Used to skip processor selection page for iDEAL payments.",
- "DataType": "String",
- "Enum": [
- {
- "value": "abnamro",
- "label": "ABN AMRO",
}
]
}
], - "Name": "PaymentHub-SEPA",
- "Target": [
- {
- "Name": "PRIMARY-BANK-ACCOUNT",
- "publicTarget": "PaymentHub-SEPA"
}
]
}
]
}
}
Informational resource that returns the source connector used in a specific Salesforce environment. A source connector represents an application in Salesforce that will be used to ultimately store the transaction that is being initiated through the Payment API.
Name | string The name of the Source Connector that will be used to register recurring payments and amounts receivable in Installments. e.g. 'PaymentHub', 'NPSP'. For a full list of available Source Connectors, visit the Source Connectors documentation. |
PrettyName | string The pretty name of the source package. |
IsDefault | boolean Whether this is the default Source Connector. If no Source Connector is passed in the request, this Source Connector is used. |
{- "Name": "PaymentHub",
- "PrettyName": "PaymentHub",
- "IsDefault": "true"
}
Informational resource that returns the package actions possible and/or required for a certain Salesforce environment. Package actions are additional actions that can be performed for a specific FinDock Extension, like a payment extension or source connector. Package Actions can be used to perform additional actions in Salesforce through FinDock while making a Payment Request, like creating a record.
If a Payment Methods or Source Connector has a Package Action, these can be found in the specific Extension or Source Connector documentation. The FinDock Gift Aid extension is an example of such a package.
PackageName | string The name of the SourceConnector/Package for which the action is to be performed. |
object List of actions that can be performed. |
{- "PackageName": "PaymentHub-GiftAid",
- "actions": {
- "name": "CreateGiftAidDeclaration",
- "Parameters": [
- {
- "Required": true,
- "Name": "issuer",
- "Description": "The issuer of the card or online banking account. Used to skip processor selection page for iDEAL payments.",
- "DataType": "String",
- "Enum": [
- {
- "value": "abnamro",
- "label": "ABN AMRO",
}
]
}
]
}
}
Retrieve Package Actions.
Return a list of possible Package Actions for a specific Salesforce environment.
Responses
Response samples
- 200
- 400
- 422
- 500
{- "ResponseCode": "001",
- "IsSuccess": true,
- "PackageActions": [
- {
- "PackageName": "PaymentHub-GiftAid",
- "actions": {
- "name": "CreateGiftAidDeclaration",
- "Parameters": [
- {
- "Required": true,
- "Name": "issuer",
- "Description": "The issuer of the card or online banking account. Used to skip processor selection page for iDEAL payments.",
- "DataType": "String",
- "Enum": [
- {
- "value": "abnamro",
- "label": "ABN AMRO",
}
]
}
]
}
}
]
}