Differences between Payment Service API and payment gateway
Payment Service API is made similar to standard payment gateway APIs of banks, however in some methods the type, mandatory nature and presence of fields may differ. Below are the known differences between Payment Service API and bank APIs. Critical differences are marked with ⚠️ sign.
decline.do
In Payment Service API: decline.do
Request
| Standard bank API | Type | Mand. | Payment Service API | Type | Mand. | Comment |
|---|---|---|---|---|---|---|
merchantLogin |
String | No | - | - | - | Parameter is not supported in Payment Service |
language |
String | No | - | - | - | Parameter is not supported in Payment Service |
Response
| Standard bank API | Type | Mand. | Payment Service API | Type | Mand. |
|---|---|---|---|---|---|
errorMessage |
String | Yes | errorMessage |
String | No |
deposit.do
In Payment Service API: deposit.do
Request
| Standard bank API | Type | Mand. | Payment Service API | Type | Mand. | Comment |
|---|---|---|---|---|---|---|
currency |
String [3] | No | - | - | - | Parameter is not supported in Payment Service |
jsonParams |
Object | No | - | - | - | Parameter is not supported in Payment Service |
itemPrice |
Integer [1..18] | No | itemPrice |
integer | Yes | In bank API parameter is optional, in Payment Service - mandatory. |
depositedItemAmount |
Integer [1..18] | No | - | - | - | Parameter is not supported in Payment Service. |
| - | - | - | agentInterestsObject |
Object | No | Field is supported only by Payment Service |
tax |
Object | No | tax |
Object | Conditional | In Payment Service parameter is conditional, in bank API optional. |
taxSum |
Integer | Yes | taxSum |
number | No | Parameter is not mandatory in Payment Service. |
nomenclature |
Integer [1..93] | Conditional | nomenclature |
- | No | in Payment Service parameter is not mandatory, in bank API - conditional. |
markQuantity |
object | No | - | - | - | Field is not supported by Payment Service. |
type |
Integer | Yes | agent_info.type |
Integer | Conditional | In the bank API it's a mandatory parameter, in the Payment Service - conditional. |
supplier_info |
Object | No | - | - | - | Different structure of itemAttributes parameter |
agentInfoObject |
Object | No | - | - | - | Different structure of itemAttributes parameter. |
Response
| Standard bank API | Type | Mandatory | Payment Service API | Type | Mandatory | Comment |
|---|---|---|---|---|---|---|
errorCode |
String | No | errorCode |
String | Yes | Mandatory status differs |
finish3dsPayment.do
In the Payment Service API: finish3dsPayment.do
Request body does not differ
Response
| Standard bank API | Type | Mandatory | Payment Service API | Type | Mandatory | Comment |
|---|---|---|---|---|---|---|
redirect |
String | No | - | - | - | Parameter not supported in Payment Service |
errorCode |
String | No | errorCode |
String | Yes | Mandatory status differs |
finish3dsVer2Payment.do
In the Payment Service API: finish3dsVer2Payment.do
Request
| Standard bank API | Type | Mandatory | Payment Service API | Type | Mandatory | Comment |
|---|---|---|---|---|---|---|
| - | - | - | mdOrder |
String | No | Parameter supported only in Payment Service |
| - | - | - | threeDSVer2FinishUrl |
String | No | Parameter supported only in Payment Service |
Response
| Standard bank API | Type | Mandatory | Payment Service API | Type | Mandatory | Comment |
|---|---|---|---|---|---|---|
redirect |
String | No | - | - | - | Parameter not supported in Payment Service |
errorCode |
String | No | errorCode |
String | Yes | Mandatory status differs |
is3DSVer2 |
Boolean | No | - | - | - | Parameter not supported in Payment Service |
getBindings.do
In the Payment Service API: getBindings.do
Request
| Standard Bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
language |
String | no | - | - | - | Parameter is not supported in the Payment Service |
Response
| Standard Bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
errorCode |
String | yes | errorCode |
String | ⚠️no | Required status differs |
| - | - | - | bankName |
String | No | Parameter is present only in the Payment Service. Payment Service feature. |
bindingCategory |
String | no | ⚠️bindingType
|
String | no | Parameter name differs |
| - | - | - | gwId |
String | no | Parameter is present only in the Payment Service. Payment Service feature. |
clientId |
String | No | clientId |
String | Yes | In the Bank API the parameter is optional, in the Payment Service it is required. |
getOrderStatusExtended.do
In the Payment Service API: getOrderStatusExtended.do
Request
| Standard Bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
userName |
String [1..30] | Conditional | userName |
String | Yes | In the Bank API the parameter is conditional, in the Payment Service it is required. |
password |
String [1..30] | Conditional | password |
String | Yes | In the Bank API the parameter is conditional, in the Payment Service it is required. |
token |
String [1..256] | Conditional | - | - | - | Parameter is not supported by the Payment Service. |
merchantLogin |
String [1..255] | No | - | - | - | Parameter is not supported in the Payment Service |
Response
getReceiptStatus.do
In the Payment Service API: getReceiptStatus.do
Request structure does not differ.
Response
| Standard Bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
errorCode |
String [1..2] | No | errorCode |
String | Yes | In the Payment Service the parameter is required, in the Bank API it is not. |
orderNumber |
String [1..36] | No | orderNumber |
String | Yes | In the Payment Service the parameter is required, in the Bank API it is not. |
orderId |
String [1..36] | No | orderId |
String | Yes | In the Payment Service the parameter is required, in the Bank API it is not. |
ofdOrderBundle |
Object | No | ofd_order_bundle |
Array[Object] | No | Parameters have different names. Different nesting structure. |
installmentPayment.do
In Payment Service API: installmentPayment.do
Request
| Standard bank API | Type | Req. | Payment Service API | Type | Req. | Comment |
|---|---|---|---|---|---|---|
additionalParameters |
Object | no | ⚠️jsonParams
|
Object | no | Different parameter name |
| - | - | - | clientId |
String | ⚠️yes | Additional required parameter |
| - | - | - | phone |
String | No | Parameter is supported only in the Payment service |
| - | - | - | email |
String | No | Parameter is supported only in the Payment service |
token |
String | Conditional | - | - | - | Parameter not supported in Payment Service |
userName |
String | Condition | userName |
String | Yes | Parameter is mandatory in the Payment service and conditional in the bank API |
password |
String | Condition | password |
String | Yes | Parameter is mandatory in the Payment service and conditional in the bank API |
autocompletionDate |
String | No | - | - | - | Parameter not supported in Payment Service |
autoReverseDate |
String | No | - | - | - | Parameter not supported in Payment Service |
features |
String | No | - | - | - | Parameter not supported in Payment Service |
billingPayerData |
Object | No | - | - | - | Parameter not supported in Payment Service |
preOrderPayerData |
Object | No | - | - | - | Parameter not supported in Payment Service |
orderPayerData |
Object | No | - | - | - | Parameter not supported in Payment Service |
billingAndShippingAddressMatchIndicator String |
No | - | - | - | Parameter not supported in Payment Service |
Response
instantPayment.do
In Payment Service API: instantPayment.do
Request
| Standard bank API | Type | Req. | Payment Service API | Type | Req. | Comment |
|---|---|---|---|---|---|---|
autocompletionDate |
String | No | - | - | Parameter not supported in Payment Service | |
billingAndShippingAddressMatchIndicator |
String | no | - | - | Parameter not supported in Payment Service | |
cardHolderName |
String | no | ⚠️cardholderName
|
String | no | Different parameter name |
expirationDate |
String | no | - | - | Parameter not supported in Payment Service | |
externalScaExemptionIndicator |
String | No | - | - | Parameter not supported in Payment Service | |
orderPayerData |
Object | no | - | - | Parameter not supported in Payment Service | |
originalPaymentDate |
String | Conditional | - | - | Parameter not supported in Payment Service | |
originalPaymentNetRefNum |
String | Conditional | - | - | Parameter not supported in Payment Service | |
| - | - | phone |
String | no | Parameter supported only in Payment Service | |
preOrderPayerData |
Object | no | - | - | Parameter not supported in Payment Service | |
sbpTemplateId |
String | Conditional | - | - | Parameter not supported in Payment Service | |
sessionTimeoutSecs |
Number | no | - | - | Parameter not supported in Payment Service | |
shippingPayerData |
Object | no | - | - | Parameter not supported in Payment Service | |
threeDSProtocolVersion |
Number | no | - | - | Parameter not supported in Payment Service | |
threeDSSDK |
Boolean | No | - | - | Parameter not supported in Payment Service | |
token |
String | Conditional | - | - | Parameter not supported in the Payment Service | |
userName |
String | Condition | userName |
String | Yes | Parameter is mandatory in the Payment service and conditional in the bank API |
password |
String | Condition | password |
String | Yes | Parameter is mandatory in the Payment service and conditional in the bank API |
Response
paymentOrder.do
In the Payment Service API: paymentOrder.do
Request
| Standard Bank API | Type | Req. | Payment Service API | Type | Req. | Comment |
|---|---|---|---|---|---|---|
TEXT |
String | yes | ⚠️cardholderName
|
String | no | Different parameter name |
$CVC |
Number | no | ⚠️cvc
|
String | no | Different parameter name |
language |
String | yes | language |
String | no | |
MDORDER |
String | yes | ⚠️mdOrder
|
String | yes | Different parameter name |
MM |
Number | no | ⚠️month
|
String | no | Different parameter name |
$PAN |
Number | no | ⚠️pan
|
String | no | Different parameter name |
YYYY |
Number | no | ⚠️year
|
String | no | Different parameter name |
$EXPIRY |
Integer | Condition | - | - | - | Parameter not supported in the Payment Service. |
shippingPayerData |
Object | No | - | - | - | Parameter not supported in the Payment Service. |
preOrderPayerData |
Object | No | - | - | - | Parameter not supported in the Payment Service. |
orderPayerData |
Object | No | - | - | - | Parameter not supported in the Payment Service. |
billingAndShippingAddressMatchIndicator |
String[1] | No | - | - | - | Parameter not supported in the Payment Service. |
clientBrowserInfo |
Object | No | - | - | - | Parameter not supported in the Payment Service. |
acsInIFrame |
Boolean | No | - | - | - | Parameter not supported in the Payment Service. |
Response
| Standard Bank API | Type | Req. | Payment Service API | Type | Req. | Comment |
|---|---|---|---|---|---|---|
threeDSMethodURLServerDirect |
String | no | - | - | - | Parameter not supported in the Payment Service |
| - | - | - | mdOrder |
String | yes | Parameter supported only in the Payment Service |
| - | - | - | transactionState |
String | no | Parameter supported only in the Payment Service |
paymentOrderBinding.do
In the Payment Service API: paymentOrderBinding.do
Request
| Standard Bank API | Type | Req. | Payment Service API | Type | Req. | Comment |
|---|---|---|---|---|---|---|
threeDSSDK |
Boolean | No | - | - | - | Parameter is not supported in Payment Service |
tii |
String | Yes | tii |
String | No | In bank API parameter is required, in Payment Service - no. |
email |
String [1..40] | Conditional | email |
String | No | In bank API parameter is conditional, in Payment Service - no. |
threeDSProtocolVersion |
Number | no | - | - | - | Parameter is not supported in Payment Service |
externalScaExemptionIndicator |
String | No | - | - | - | Parameter is not supported in Payment Service. |
seToken |
String | Conditional | - | - | - | Parameter is not supported in Payment Service. |
clientBrowserInfo |
Object | Optional | - | - | - | Parameter is not supported in Payment Service. |
acsInIFrame |
boolean | No | - | - | - | Parameter is not supported in Payment Service. |
| - | - | - | threeDSMethodNotificationUrl |
String | No | Parameter is not supported in bank API. |
| - | - | - | threeDSServerTransId |
String | No | Parameter is not supported in bank API. |
Response
| Standard bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
threeDSMethodURLServerDirect |
String | no | - | - | - | Parameter is not supported in Payment Service |
| - | - | - | mdOrder |
String | yes | Parameter is supported only in Payment Service |
| - | - | - | transactionState |
String | no | Parameter is supported only in Payment Service |
recurrentPayment.do
In Payment Service API: recurrentPayment.do
Request
| Standard bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
feeInput |
- | no | - | - | Parameter is not supported in Payment Service | |
additionalParameters |
Object | no | ⚠️jsonParams
|
Object | no | Different parameter name |
billingAndShippingAddressMatchIndicator |
String | no | - | - | Parameter is not supported in Payment Service | |
orderPayerData |
Object | no | - | - | - | Parameter is not supported in Payment Service |
preOrderPayerData |
Object | no | - | - | - | Parameter not supported in Payment Service |
shippingPayerData |
Object | no | - | - | - | Parameter not supported in Payment Service |
| - | - | - | email |
String | no | Parameter supported only in Payment Service |
| - | - | - | phone |
String | no | Parameter supported only in Payment Service |
preAuth |
Boolean | No | - | - | - | Parameter not supported in Payment Service. |
autocompletionDate |
String[19] | No | - | - | - | Parameter not supported in Payment Service. |
autoReverseDate |
String[19] | No | - | - | - | Parameter not supported in Payment Service. |
features |
String | No | - | - | - | Parameter not supported in Payment Service. |
billingPayerData |
Object | No | - | - | - | Parameter not supported in Payment Service. |
Response
refund.do
In Payment Service API: refund.do
Response structure does not differ
Request
| Standard Bank API | Type | Req. | Payment Service API | Type | Req. | Comment |
|---|---|---|---|---|---|---|
amount |
Number | yes | amount |
Number | no | If amount is not specified - refund for full amount |
language |
String | no | - | - | - | Parameter not supported in Payment Service |
orderId |
String | yes | orderId |
String | no | Payment Service AntiDDOS Router can accept orderNumber instead of orderId
|
| - | - | - | orderNumber |
String | no | Parameter supported only in Payment Service |
expectedDepositedAmount |
Integer [1..12] | No | - | - | - | Parameter not supported in Payment Service. |
currency |
String [3] | No | - | - | - | Parameter not supported in Payment Service. |
register.do / registerPreAuth.do
In Payment Service API: register.do / registerPreAuth.do
Request
| Standard Bank API | Type | Req. | Payment Service API | Type | Req. | Comment |
|---|---|---|---|---|---|---|
| - | - | - | allowedPaymentWays |
Array[String] | no | Parameter supported only in Payment Service |
| - | - | - | defaultBindingId |
String | no | Parameter is only supported in Payment Service |
billingAndShippingAddressMatchIndicator |
String | no | - | - | - | |
billingPayerData |
Object | no | - | - | - | Parameter is not supported in Payment Service |
expirationDate |
UTC | no | - | - | - | Parameter is not supported in Payment Service. Only sessionTimeoutSecs is available |
feeInput |
Number | no | - | - | - | Parameter is not supported in Payment Service |
orderPayerData |
Object | no | - | - | - | Parameter is not supported in Payment Service |
preOrderPayerData |
Object | no | - | - | - | Parameter is not supported in Payment Service |
prepaymentMdOrder |
String | no | - | - | - | Parameter is not supported in Payment Service |
shippingPayerData |
Object | no | - | - | - | Parameter is not supported in Payment Service |
taxSystem |
Number | no | - | - | - | Parameter is not supported in Payment Service |
token |
String | no | - | - | - | Parameter is not supported in Payment Service |
Response
| Standard bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
| - | - | - | orderNumber |
String | no | Parameter is present only in Payment Service |
reverse.do
In Payment Service API: reverse.do
Response structure is not different.
Request
| Standard bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
orderId |
String | yes | orderId |
String | no | Payment Service AntiDDOS Router can accept orderNumber instead of orderId
|
jsonParams |
Object | no | - | - | - | Parameter is not supported in Payment Service |
language |
String | no | - | - | - | Parameter is not supported in Payment Service |
sbp_c2b/get.do
In Payment Service API: sbp_c2b/get.do
Response structure is not different.
Request
| Standard bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
memberId |
String | No | - | - | - | Parameter not supported in Payment Service |
tspMerchantId |
String | No | - | - | - | Parameter not supported in Payment Service |
account |
String | No | - | - | - | Parameter not supported in Payment Service. |
redirectUrl |
String [1..1024] | No | - | - | - | Parameter not supported in Payment Service. |
unBindCard.do
In Payment Service API: unBindCard.do
Request structure does not differ.
Response
| Standard bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
| - | - | - | qwId |
String | Conditional | Parameter supported only in Payment Service. |
| - | - | - | bindingId |
String | No | Parameter supported only in Payment Service. |
sbp_c2b/status.do
In Payment Service API: sbp_c2b/status.do
Request structure does not differ.
Response
| Standard bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
errorCode |
String | No | errorCode |
String | Yes | Parameter in bank API is not required, in Payment Service - required. |
status |
String | No | qrStatus |
String | No | Parameter names differ. |
| - | - | - | transactionStateExtension |
String | No | Parameter supported only by Payment Service. |
sbp_c2b/reject.do
In Payment Service API: sbp_c2b/reject.do
Request structure does not differ.
Response
| Standard bank API | Type | Required | Payment Service API | Type | Required | Comment |
|---|---|---|---|---|---|---|
errorCode |
String | No | errorCode |
String | Yes | Parameter is not mandatory in bank API, mandatory in Payment Service. |
rejected |
Boolean | Yes | rejected |
Boolean | No | Parameter is mandatory in bank API, not mandatory in Payment Service. |
sbp_c2b/unBind.do
In Payment Service API: sbp_c2b/unBind.do
Request
| Standard bank API | Type | Req. | Payment Service API | Type | Req. | Comment |
|---|---|---|---|---|---|---|
bindingId |
String [1..255] | No | bindingId |
String | Yes | Parameter is mandatory only in Payment Service. |
Response
| Standard bank API | Type | Req. | Payment Service API | Type | Req. | Comment |
|---|---|---|---|---|---|---|
userMessage |
String [1..512] | No | - | - | - | Parameter is supported only by bank API. |
| - | - | - | bindingId |
String | No | Parameter is supported only in Payment Service. |
| - | - | - | gwId |
String | No | Parameter is supported only in Payment Service. |