Методы P2P создают операцию и возвращают в ответе номер платежного средства для осуществления перевода денег клиентом. После совершения перевода денег будет отправлен стандартный callback.

В случае успешного создания операции в ответ придет статус WAITING_FOR_EXTERNAL_AUTH с номером и типом платежного средства. Итоговый статус операции определяется позже, по результату проверки перевода на стороне провайдера, и приходит в callback.

Поддерживаемые платежные средства

  • банковская карта

  • номер телефона

  • номер счета

  • внешняя страница провайдера

Тестовый банк

Моделирование различных сценариев возможно с помощью передачи различных номеров телефона плательщика во входящих параметрах. В случае тестового платежа с полученными реквизитами ничего делать не надо, операция завершится автоматически. Результат операции придет в callback.

Тестовые номера телефонов:

payer.phone результат

1111110000

перевод по номеру телефона, успешное завершение

2222220000

перевод на внешней странице, успешное завершение

3333330000

перевод по номеру карты, успешное завершение

4444440000

перевод по номеру счета, успешное завершение

3333330005

перевод по номеру карты, успешное завершение через 5 секунд

3333330100

перевод по номеру карты, отказ после совершения перевода

1000000900

перевод по номеру телефона, зачислена половина суммы операции

6555550100

отказ при создании операции: платежное средство не поддерживается

Примеры запросов и ответов

Банковская карта

POST /card/1-1/operations/p2p HTTP/1.1
x-RequestId: acc-test-5904f903-33e2-4605-af7f-bab24db890c1
x-RequestId: acc-test-5904f903-33e2-4605-af7f-bab24db890c1
W1-Signature: xhm5VRouR7rCV0QaS7qIVc+qo2yPU6UParboMZeQqB9Ca7U1WeJpCYZz9OQ5hOj5MSy7h3Z/CwFSO0B6fxpfw1BShi9rZ9QkawipqZk4dnfA5mDbHtkqF3eKkyvdRcWhQuKPgnlls+0E3yuyPMWxZNo/eJkxKCcOtQRhG5cJ8DTVsbDT1ExHN0ZfEK1ILzAO/rZaqZ0isJrHmy11pLD80xi91D3VT48QhSRxTzR8tF/qoRbkBBomHQIS9eOhZg5DfOM67cJ2G8Es0BHv/7xOcQTxS8meLureCMHxzuSMb9YJxw71lcmR+cfIbvhI34mgQ9oyZ3VYBHiCh2vgpqTn9g==
Content-Type: application/json
Host: payment.flexo.systems
Content-Length: 520

{
  "notification" : {
    "url" : "http://127.0.0.1:8080/test/callback/default/",
    "version" : 1
  },
  "externalId" : "ext#72-1788979716759",
  "amount" : {
    "amount" : 10.55,
    "currency" : "USD"
  },
  "payer" : {
    "paymentMethod" : null,
    "info" : {
      "phone" : "3333330000",
      "email" : "name@example.com",
      "ip" : "127.0.0.1"
    }
  },
  "merchantParameters" : {
    "param1" : "anything you want for callback",
    "param2" : null,
    "param3" : null
  },
  "pageParameters" : null
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 362

{
  "operationId" : "1-1-a-60",
  "status" : "WAITING_FOR_EXTERNAL_AUTH",
  "type" : "P2P",
  "externalId" : "ext#72-1788979716759",
  "params" : { },
  "actions" : {
    "required" : [ ]
  },
  "externalPaymentParameters" : {
    "card" : {
      "pan" : "4000000000000002",
      "bank" : {
        "name" : "BBANK"
      },
      "receiver" : null
    }
  }
}

Банковский счет

POST /card/1-1/operations/p2p HTTP/1.1
x-RequestId: acc-test-925dc5c2-b9c5-4b42-850c-6c52e1ff6008
x-RequestId: acc-test-925dc5c2-b9c5-4b42-850c-6c52e1ff6008
W1-Signature: uPOt88AigN78+hQxJCBLJB/TWp4gClJ1ItY5QDTQgsWN0M9UYl+hbUN9oeEZvcyU4e8WO5sSoX3ek0DxfAwa68QD8azMMunlK47QxWV/NZFkGaPCg5Zi3hkzgH9e+0BbMGfj8k55FRxiAdygEO2woJj4I+4rHdZN7+9VviY7708sQg4nqajSHydnRYp0k5IiHF+q4RBZEvrNbpPrJHSmEyNm/vLUF24oCPnIk23V/6bLo6dJttpXGW7YNB8PvgCvANwAS/ifTsAunqqQLq3JMsDjz0A1eeYUxqedqK5c8FwuHLmo6WXC+oa1+Dt2iIJuq3LuwsNGAzu5rqdwGNftUA==
Content-Type: application/json
Host: payment.flexo.systems
Content-Length: 520

{
  "notification" : {
    "url" : "http://127.0.0.1:8080/test/callback/default/",
    "version" : 1
  },
  "externalId" : "ext#83-1788979731911",
  "amount" : {
    "amount" : 10.55,
    "currency" : "USD"
  },
  "payer" : {
    "paymentMethod" : null,
    "info" : {
      "phone" : "4444440000",
      "email" : "name@example.com",
      "ip" : "127.0.0.1"
    }
  },
  "merchantParameters" : {
    "param1" : "anything you want for callback",
    "param2" : null,
    "param3" : null
  },
  "pageParameters" : null
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 372

{
  "operationId" : "1-1-a-71",
  "status" : "WAITING_FOR_EXTERNAL_AUTH",
  "type" : "P2P",
  "externalId" : "ext#83-1788979731911",
  "params" : { },
  "actions" : {
    "required" : [ ]
  },
  "externalPaymentParameters" : {
    "account" : {
      "number" : "20000000000000000004",
      "bank" : {
        "name" : "CBANK"
      },
      "receiver" : null
    }
  }
}

Номер телефона

POST /card/1-1/operations/p2p HTTP/1.1
x-RequestId: acc-test-3610b0a9-0725-4028-9b02-d78be63b344a
x-RequestId: acc-test-3610b0a9-0725-4028-9b02-d78be63b344a
W1-Signature: Qi9BKoJf3rq4zq7LtZi8vWYuq6jUqyDxHzIxwpCM9K+cVKcWj9gAeHYVBxeW9zOywm3L2rB3MbPK7vCdyJppibKhoAZd9oiKGdpoTDrK7K+rlIKYOyx3aFnS2SKk2H2i+o0Q3cyknCeNxAheZ/Q91WABn0cMqy+J5A5a2cwOTUtHYJbZoDVDfiIvV5yi0ryQCwgFHvnuu8EpT0U3s49wG9LojPsGwChQZRXuZ/U2JRn+gBQ5GtZuElJ/4qsFtMgu1EerZi3zebQ51cZVCMMKP7EqfDiQHbAPv2essV+fHNdRZtfJKECTU07iyVA8oR/10ePfCEnZkm/l8SEIyPzJqQ==
Content-Type: application/json
Host: payment.flexo.systems
Content-Length: 520

{
  "notification" : {
    "url" : "http://127.0.0.1:8080/test/callback/default/",
    "version" : 1
  },
  "externalId" : "ext#74-1788979720724",
  "amount" : {
    "amount" : 10.55,
    "currency" : "USD"
  },
  "payer" : {
    "paymentMethod" : null,
    "info" : {
      "phone" : "1111110000",
      "email" : "name@example.com",
      "ip" : "127.0.0.1"
    }
  },
  "merchantParameters" : {
    "param1" : "anything you want for callback",
    "param2" : null,
    "param3" : null
  },
  "pageParameters" : null
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 388

{
  "operationId" : "1-1-a-62",
  "status" : "WAITING_FOR_EXTERNAL_AUTH",
  "type" : "P2P",
  "externalId" : "ext#74-1788979720724",
  "params" : { },
  "actions" : {
    "required" : [ ]
  },
  "externalPaymentParameters" : {
    "phone" : {
      "number" : "1231231",
      "bank" : {
        "name" : "ABANK"
      },
      "receiver" : {
        "name" : "IVAN I"
      }
    }
  }
}

Внешняя платежная страница

POST /card/1-1/operations/p2p HTTP/1.1
x-RequestId: acc-test-2b84fe08-6e51-4b4a-b26e-35099262866f
x-RequestId: acc-test-2b84fe08-6e51-4b4a-b26e-35099262866f
W1-Signature: JYD60QqAYhOk2GEeYIuzqU+7fR+ufBnyzFSzMCLhWFpq7Nx+eU61IJ7F58zygCPE+q08t+fGz2TvgrscsNaVAS6IqjtdUBi/ZilpXPrvfwJx4pgIUCpne0zt23Xx8Qm0PmbSn51qtCPBllBVzoXzHdupMKzRkyxlELcsprcA6202nv10UN9seVGyz9xV67Rf4AXqu073M89AckrAo22j+ZC0O/8gn4Z+aKUDVcwpictVLXkFoHacARz8sgNlGgAt3TF9HLtkRPeJAqEjQ28o90p/SODI75ale4LXUsdfTDOGJkFgwMnEOE885jIu6y9+eaHblmZk/NPUz5BMpLUjZg==
Content-Type: application/json
Host: payment.flexo.systems
Content-Length: 667

{
  "notification" : {
    "url" : "http://127.0.0.1:8080/test/callback/default/",
    "version" : 1
  },
  "externalId" : "ext#78-1788979725812",
  "amount" : {
    "amount" : 10.55,
    "currency" : "USD"
  },
  "payer" : {
    "paymentMethod" : null,
    "info" : {
      "phone" : "2222220000",
      "email" : "name@example.com",
      "ip" : "127.0.0.1"
    }
  },
  "merchantParameters" : {
    "param1" : "anything you want for callback",
    "param2" : null,
    "param3" : null
  },
  "pageParameters" : {
    "urlOnSuccess" : "https://www.example.com/success",
    "urlOnDecline" : "https://www.example.com/failure",
    "description" : "description"
  }
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 305

{
  "operationId" : "1-1-a-67",
  "status" : "WAITING_FOR_EXTERNAL_AUTH",
  "type" : "P2P",
  "externalId" : "ext#78-1788979725812",
  "params" : { },
  "actions" : {
    "required" : [ ]
  },
  "externalPaymentParameters" : {
    "externalPage" : {
      "url" : "https://www.example.com/pay"
    }
  }
}