RuntimeLLC / moneta-api

МОНЕТА.РУ (MONETA.MerchantAPI.v2)
MIT License
8 stars 4 forks source link

Пример вывода на QIWI #48

Closed nedden closed 7 years ago

nedden commented 7 years ago

Привет.

Хотелось бы больше примеров кода для вывода с кошелька Монеты.

Например в данный момент мне нужно вывести на QIWI и приходится разбирать код "по косточкам", чтобы понять как это сделать :)

llxff commented 7 years ago

Привет!

Для вывода денег нужно вызвать метод Payment и указать сколько и куда выводить:

request = Moneta::Api::Requests::PaymentRequest.build(
  payer: from_account_number, # номер счета, с которого нужно вывести
  payee: Moneta::Constants::Withdrawal::QIWI,
  amount: amount, # сумма для вывода
  client_transaction: operation_id, # номер операции в вашей системе
  payment_password: payment_password, # платежный пароль,
  is_payer_amount: true # лучше уточнть, какое именно поведение вам нужно
)

service.payment(request)

В https://www.moneta.ru/doc/MONETA.MerchantAPI.v2.ru.pdf можете дополнительно посмотреть в разделе "Вывод средств".

nedden commented 7 years ago

А номер кошелька QIWI? Это payee?

llxff commented 7 years ago

Нет, он передается в OperationInfo


request = Moneta::Api::Requests::PaymentRequest.build(
  payer: from_account_number,
  payee: Moneta::Constants::Withdrawal::QIWI,
  amount: amount, 
  client_transaction: operation_id,
  payment_password: payment_password,
  is_payer_amount: true
)

request.operation_info = Moneta::Api::Types::OperationInfo.new
request.operation_info.add_attribute(Moneta::Api::Types::KeyValueAttribute.build(key: 'EXTERNALACCOUNTID', value: qiwi_account))

service.payment(request)