To integrate with CityPay Paylink, you will need:
- CityPay Client Id. This is a top level account which identifies you as a client on our systems. Each client may have multiple merchant accounts.
- CityPay Client Licence Key. This licence key identifies your services that are registered for your account.
- CityPay Merchant Id. To be able to process you will need a merchant id. This maps to one or more bank merchant accounts and can be used to process and route payments to your merchant account.
Please contact sales if you do not have these details.
Testing
See Testing Best Practices for testing your integration.
Authentication
Before creating tokens, we need to open access for your systems to process transactions for each Merchant Id. Access control is based on your IP address either as a single IP address or a subnet. This whitelists your application through the Paylink application firewall and allows token creation. You will also require authenticated access provided by your Merchant Id and Licence Key within the request.
When setting up your account, please advise support of any IP addresses to be configured.
Recommended Integration Workflow
- determine content type of call: JSON(preferred), XML, Url-Encoded
- create structure for the
Token Request
- specify the relevant
merchantId
for your account - specify the relevant
licenceKey
provided for the Paylink service - specify the transaction mode
- is a test transaction set
test
totrue
- is a live transaction set
test
tofalse
- specifying no value will result in a test transaction
- is a test transaction set
- specify the
identifier
- specify the
amount
- specify further options as per the Token API Reference
- specify the relevant
- perform a HTTPS POST operation to the Paylink3 server URL, specifying the Token Request as the body of the POST call
- inspect and parse the Token Response
- if the
result
field is1,
obtain the value of theurl
field and direct or redirect the customer browser to the provided value - If the
result
field is2,
obtain the value represented byerrors and
process eacherror
according to their respectiveerrorCode
;