Мне нужно перебрать этот хэш транзакций Square и присоединить каждую запись к результатам запроса MySQL.Есть ли способ получить записи в хэше транзакций Square в массив, который больше похож на таблицу?
Я отправил похожий вопрос несколько недель назад ( Как разобрать значения вложенного ключа в отклике Squareв Ruby 2.2.10 ), где хэш имел только одну запись, но теперь мне нужно перебрать все транзакции.Обратите внимание, что хеш также может содержать транзакции возврата, которые я хотел бы проанализировать отдельно.И в некоторых транзакциях будет отсутствовать поле reference_id.
{:transactions=>[
{:id=>"sacfx8eqLYsBQom7G9kV7gS1K4lbnMG83w3U0Gpzu1cCJROfZvRJqLhO",
:location_id=>"CBASEJJZMYbNZW8F1bbRjRuPQ7Q",
:created_at=>"2019-04-10T16:38:57Z",
:tenders=>[{
:id=>"eeb92f2a-379b-55c6-439b-f0f5c44925c8",
:location_id=>"CBASEJJZMYbNZW8F1bbRjRuPQ7Q",
:transaction_id=>"sacfx8eqLYsBQom7G9kV7gS1K4lbnMG83w3U0Gpzu1cCJROfZvRJqLhO",
:created_at=>"2019-04-10T16:38:57Z",
:note=>"Online Transaction",
:amount_money=>{:amount=>65000, :currency=>"USD"},
:processing_fee_money=>{:amount=>1915, :currency=>"USD"},
:type=>"CARD",
:card_details=>{:status=>"CAPTURED",
:card=>{:card_brand=>"VISA",
:last_4=>"1111",
:fingerprint=>"50b16672bf4472e9058524e3c0a060faab196bc3e43f9c693a870c7e8b6da626"
},
:entry_method=>"KEYED"
}
}],
:reference_id=>"796",
:product=>"EXTERNAL_API"
},
{:id=>"mvMhdOrfBdXQvE0S6EPFoeHf7Fm8duSJgsk4bZyt6APQTa2PGkix6LhO",
:location_id=>"CBASEJJZMYbNZW8F1bbRjRuPQ7Q",
:created_at=>"2019-04-10T01:22:16Z",
:tenders=>[{
:id=>"693c42d4-5e16-52a3-5594-5e8dd4ff9f95",
:location_id=>"CBASEJJZMYbNZW8F1bbRjRuPQ7Q",
:transaction_id=>"mvMhdOrfBdXQvE0S6EPFoeHf7Fm8duSJgsk4bZyt6APQTa2PGkix6LhO",
:created_at=>"2019-04-10T01:22:16Z",
:note=>"Online Transaction",
:amount_money=>{:amount=>65000, :currency=>"USD"},
:processing_fee_money=>{:amount=>1915, :currency=>"USD"},
:type=>"CARD",
:card_details=>{:status=>"CAPTURED",
:card=>{:card_brand=>"VISA",
:last_4=>"1111",
:fingerprint=>"50b16672bf4472e9058524e3c0a060faab196bc3e43f9c693a870c7e8b6da626"
},
:entry_method=>"KEYED"
}
}],
:product=>"EXTERNAL_API"
},
...
],
:refunds=>[... refunds here ...]
}
Я вставил возврат каретки, чтобы было легче увидеть ключ / значения.
Кроме того, образец Square в их документации (https://docs.connect.squareup.com/api/connect/v2/?q=reference_id#endpoint-transactions-listtransactions) показывает ключи в кавычках, но фактический ответ, который приходит к Ruby, такой же, как я показал выше, где все ключи - это просто имя ключа двоеточия - как: id