Notifications

All requests can be configured for notifications, regardless of the payment method or transaction type. This allows you to keep your back office systems in synch with your customer’s payments and transactions.  Notifications are sent when transaction processing is completed by Pay360.

We’ll send you everything we know about the transaction including custom fields you might have asked your customer to enter, 3D Secure information, PayPal Seller Protection information, the results of Optimize rules, data we’ve added through our third party data sources (for example, supplementary card information and GeoIP enrichments) as well as information from the authoriser that includes Authorisation responses, messages and codes, AVS and CV2 responses.

You can specify where you would like the notification to be sent on every request or you can tell us where you would like them to be sent for all transactions, by default. The latter we’ll enable on your account during boarding. Where a default is set, we’ll also send notifications of transactions initiated in the Merchant Portal (for example, manual Refunds) to the specified URL.

The URL must use a host name which can be resolved using a public DNS (excluding *.pay360.com), or a public routable IP address (nothing in RFC 1918). We support connecting to merchants on ports 80 or 8080 (for HTTP) and 443 or 8443 (for HTTPS).

The Pay360 IP address space is 185.161.164.0/22, which covers 1024 addresses from 185.161.164.0 through 185.161.167.255 inclusive. Requests that we originate, including notifications, will come from an address within this range. The exact addresses we use may vary from time to time.

Our APIs are continuously evolving. We will not take any fields away without giving advanced notice, but we may add new fields at any time. Your integration must be able to cope with the appearance of new fields.

Below is the reference of how you can construct that notification entry on each request.

If we can’t successfully deliver the notification to you first time, we’ll keep trying.
A notification is considered successfully delivered if a success response (HTTP 200) is received within 10 seconds.
callbacks {
transactionNotification { Details of the notification sent after transaction completion.
format string
The format of the notification content.
url string
The URL you want the notification to be sent to. This will override any defaults set on your account. Where a default is set and a blank URL field is specified, no notification will be sent.
}
}
APIHosted
API Examples
Payment with JSON Notification

POST /acceptor/rest/transactions/1009/payment
{
  "transaction": {
    "currency": "GBP",
    "amount": "1000.0",
    "description": "Sample Transaction",
    "merchantRef": "mer_txn_1234556",
    "commerceType": "MOTO",
    "channel": "WEB"
  },
  "paymentMethod": {
    "card": {
      "pan": "1000350000000007",
      "cv2": "123",
      "expiryDate": "0115",
      "startDate": "1111",
      "cardType": "MC_DEBIT",
      "nickname": "John",
      "cardHolderName": "John Smith",
      "defaultCard": "false"
    },
    "billingAddress": {
      "line1": "Flat 1 ",
      "line2": "Cauldron house",
      "line3": "A Street",
      "line4": "Twertonia",
      "city": "Bath",
      "region": "Somerset",
      "postcode": "BA1 234",
      "countryCode": "GBR"
    }
  },
  "customer": {
    "merchantRef": "mer_cust_131241413",
    "displayName": "Mr O Whatasillyname",
    "billingAddress": {
      "line1": "Flat 1 ",
      "line2": "Cauldron house",
      "line3": "A Street",
      "line4": "Twertonia",
      "city": "Bath",
      "region": "Somerset",
      "postcode": "BA1 234",
      "countryCode": "GBR"
    },
    "email": "[email protected]",
    "telephone": "0123 456 789",
    "defaultCurrency": "GBP",
    "ip": "212.58.253.67"
  },
  "financialServices": {
    "dateOfBirth": "19870818",
    "surname": "Smith",
    "accountNumber": "123ABC",
    "postCode": "BS20"
  },
  "callbacks": {
    "transactionNotification": {
      "url": "merchant_specific_URL",
      "format": "REST_JSON"
    }
  }
}

HTTP/1.1 200
{}

API Endpoint
endpoint: merchant defined notification callback URL (endpoint)
method: POST
summary: receive a notification callback request
request body:
{
history [ array
{
transactionStatus string
Possible Values: SUCCESS, FAILED, PENDING, EXPIRED, CANCELLED, VOIDED
reasonCode string
reasonMessage string
timeStamp string
Date and time in ISO-8601 format.
}
]
locale string
The ISO-639 code for your Customer’s locale.
processing {
route string
The name of the processing engine your transaction was submitted to.
voidSuccessful boolean
Indicates if the transaction was voided by a Post Authorisation callback.
authResponse {
statusCode string
The code for the status received from the authoriser, if applicable.
acquirerReference string
The reference received from the authoriser for your transaction, if applicable.
acquirerName string
Name of the authoriser, if applicable.
message string
The message received from the authoriser, if applicable.
authCode string
The code received from the authoriser, if applicable.
gatewayReference string
The reference received from the processing engine.
gatewaySettlement string
The date the processing engine will settle the transaction. in YYYY-MM-DD format.
gatewayCode string
The code for the status received from the processing engine.
gatewayMessage string
The message received from the processing engine.
avsAddressCheck string
Possible Values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDED
Results for the Address Verification checks, if applicable, if applicable.
avsPostcodeCheck string
Possible Values: NOT_CHECKED, FULL_MATCH, NOT_MATCHED, NOT_PROVIDED
Results for the PostCode Verification checks, if applicable.
cv2Check string
Possible Values: NOT_CHECKED, MATCHED, NOT_MATCHED
Results for the CV2 Verification checks, if applicable.
gatewayStatus string
The status received from the processing engine.
status string
Possible Values: AUTHORISED, DECLINED, REVERSED, REVERSE_FAILED, ERROR
The status received from the authoriser, if applicable.
}
}
threeDSecure { Information about the 3D Secure status of your transaction.
version integer
Possible Values: 1, 2
Major version of 3D Secure applied to this transaction.
protocolVersion string
Possible Values: 1.0.2, 2.1.0, 2.2.0
Full protocol version of 3D Secure applied to this transaction.
versionsAttempted[ { Versions of 3D Secure that were attempted for this transaction, in order of use. This can be used to determine when 3DSv2 could not be used, and why.

A version will only be included in this list if it was meaningfully attempted, which means that the transaction must have been eligible (e.g. type, channel, payment method etc.) and the merchant’s account must have been capable (e.g. the corresponding 3D Secure version was enabled on the MID, etc.)

This property may be populated even if no others in this section are, e.g. to indicate that the issuer didn’t support any version of 3D Secure.
version integer
Possible Values: 1, 2
Major version of 3D Secure that was attempted.
availability string
Possible Values: INSUFFICIENT_DATA, ISSUER_NO_V2, ISSUER_NO_V1, ISSUER_NO_3DS, ERROR, AVAILABLE
High-level indication of the actual availability of the given 3D Secure version and what happened during the attempt to use it.
} ]
scheme string
The scheme that processed the transaction for 3DS.
eci string
The eCommerce indicator for the transaction.
status string
Possible Values: AUTHENTICATED, BYPASSED, FAILED, NOT_ENROLLED, ATTEMPTED, ENROLMENT_CHECK_FAILURE, INCOMPLETE, NOT_AVAILABLE, NOT_IMPLEMENTED
The overall 3DS result for the transaction.
xid string
The ID used during 3DSv1 processing.
threeDSServerTransId string
Pay360 3DSv2 transaction ID.
dsTransactionId string
Directory Server 3DSv2 transaction ID.
acsTransactionId string
Access Control Server (ACS) 3DSv2 transaction ID.
challengeRequest string
Possible Values: NO_PREFERENCE, NO_CHALLENGE_REQUESTED, CHALLENGE_REQUESTED, CHALLENGE_MANDATED
Indicates whether a challenge was ultimately requested or not; this reflects the final 3DSv2 request made by Pay360 after taking into account any merchant preference and card scheme rules.
frictionless boolean
Whether the cardholder was authenticated without a challenge (frictionless flow).
authenticationStatus string
Possible Values: AUTHENTICATED, ATTEMPTED, FAILED, ERROR
The status of 3DSv1 authentication check.
authenticationIndicator string
Possible Values: Y, A, N, U
The indicator of the 3DSv1 authentication status.
enrolmentIndicator string
Possible Values: Y, N, U
The indicator of the 3DSv1 enrolment status.
enrolmentDateTime string
The date and time the 3DSv1 enrolment check was performed in ISO-8601 format.
enrolmentStatus string
Possible Values: ENROLLED, NOT_ENROLLED, UNABLE_TO_AUTHENTICATE
The status of the 3DSv1 enrolment check.
cardHolderMessage string
Message returned by the issuer containing instructions for the cardholder. See 3D Secure 2 for guidance on handling.
}
paymentMethod {
paymentClass string
The classification of payment method used. Eg. Card, Cash, PayPal.
registered boolean
Indicates that the customer chose to register this card payment method. This field will not be present for non-card payment methods.
isPrimary boolean
Indicates if this was Customer’s primary registered payment method.
card {
networkToken { string
Only present if a network token was provisioned or used during this transaction
status string
Status of the token at the time of this transaction:
ACTIVE – active and usable
SUSPENDED – temporarily suspended, may be re-activated in future
DELETED – permanently deleted; need to re-engage cardholder
EXPIRED – expired, should be refreshed in future
UNPROVISIONED – no token
usage string
What happened to the token during this transaction:
PROVISIONED – transaction created a network token
PROVISION_FAILED – tried to create a network token but failed
USED – transaction used an existing network token
expiryDate string
Token expiry date. Formatted as MMYY.
tokenError string
Reason for provisioning failure:
CARD_TOKENISATION_NOT_ALLOWED – card not supported (or, not at this time)
DECLINED – card scheme or issuer refused to provision a network token
SERVICE_UNAVAILABLE – scheme token service not available
SYSTEM_ERROR – unspecified error attempting to provision
}
issueNumber string
The issue number of the card used in the request.
cardToken string
The token for the card.
cardHolderName string
The Cardholder’s name.
issuer string
The Issuer of the card.
maskedPan string
The masked card number. eg. 123456******1234.
issuerCountry string
The country of the card Issuer.
expiryDate string
The expiry date of the card. Formatted as MMYY.
validDate string
The valid from date of the card. Formatted as MMYY.
cardType string
The type of card. Eg. MC_DEBIT, VISA_CREDIT, AMEX.
cardUsageType string
The usage type of card. Eg. DEBIT, CREDIT.
cardScheme string
The scheme of card. Eg. VISA, MASTERCARD, AMEX.
cardCategory string
The category of card. Eg. CREDIT, DEBIT, CORPORATE, BUSINESS.
cardNickname string
The name the Customer provided for their Card to allow easy selection where they registered multiple cards.
}
billingAddress { The billing address of the Customer. Will be used for AVS checks.
line1 string
Line 1 of the Customer’s billing address.
line2 string
Line 2 of the Customer’s billing address.
line3 string
Line 3 of the Customer’s billing address.
line4 string
Line 4 of the Customer’s billing address.
city string
City of the Customer’s billing address.
region string
Region of the Customer’s billing address.
postcode string
Post Code of the Customer’s billing address.
country string
Country name of the Customer’s billing address.
countryCode string
The 3 character ISO-3166-1 code for the Customer’s billing address country.
}
}
customer {
id string
The ID given to the Customer by the processing engine.
email string
Email address for the Customer.
merchantRef string
Your reference for the Customer.
defaultCurrency string
dob string
Date of birth for the Customer.
billingAddress { The address of the Customer.
line1 string
Line 1 of the Customer’s address.
line2 string
Line 2 of the Customer’s address.
line3 string
Line 3 of the Customer’s address.
line4 string
Line 4 of the Customer’s address.
city string
City of the Customer’s address.
region string
Region of the Customer’s address.
postcode string
Post Code of the Customer’s address.
country string
Country name of the Customer’s address.
countryCode string
The 3 character ISO-3166-1 code for the Customer’s address country.
}
displayName string
The Customer’s name.
telephone string
Telephone number for the Customer.
ip string
The Customer’s IP address.
}
financialServices { Supplementary data for Financial Services payments, echoed from the original request
dateOfBirth string
Date of birth of the recipient
surname string
Surname/family name of the recipient
accountNumber string
Account number used to identify the recipient or loan
postCode string
First part of the recipient’s postal code
}
accountFunding { Supplementary data for Account Funding Transactions (AFT), echoed from the original request
recipient { Details about the funding recipient
givenName string
Recipient’s given name
surname string
Recipient’s surname/family name
address