Узел рекурсивно создает транзакцию, используя сохраненную платежную информацию

Я хочу создать транзакцию, используя платежную информацию Recurly. я использую вызов модуля node Reculry node-recurly https://github.com/robrighter/node-recurly

Ниже, пожалуйста, найдите мой код

       recurly.transactions.create({
            'account_code': orgId,
            'amount_in_cents': 200,
            'currency': 'AUD'
          }, function (err, response) {
              if (err) {
                return res.send({
                  success :false,
                  message :message_common.coupon_create_err,
                  data: err,
                  status :status_common.error_res
                });
              } else {
                return res.send({
                  success :true,
                  message :message_common.coupon_create_success,
                  data: [],
                  status :status_common.success_res
                });
              }
          });

он возвращает ниже сообщение об ошибке,

 {
    "statusCode": 400,
    "headers": {
      "date": "Mon, 05 Dec 2016 11:34:53 GMT",
      "content-type": "application/xml; charset=utf-8",
      "transfer-encoding": "chunked",
      "connection": "close",
      "set-cookie": [
        "__cfduid=deb9088318b3890486d479eb2a9a4aed11480937692; expires=Tue, 05-Dec-17 11:34:52 GMT; path=/; domain=.recurly.com; HttpOnly"
      ],
      "x-api-version": "2.0",
      "content-language": "en-US",
      "x-ratelimit-limit": "2000",
      "x-ratelimit-remaining": "1996",
      "x-ratelimit-reset": "1480937940",
      "cache-control": "no-cache",
      "x-request-id": "aopr1tvaaooktujne13g",
      "strict-transport-security": "max-age=15552000; includeSubDomains; preload",
      "server": "cloudflare-nginx",
      "cf-ray": "30c73103cdd42384-FRA"
    },
    "data": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<error>\n  <symbol>invalid_xml</symbol>\n  <description>The provided XML was invalid.</description>\n  <details>Unacceptable tag &lt;account_code&gt;</details>\n</error>"
  }

person Sameera Danthanarayna    schedule 05.12.2016    source источник
comment
Я бы сказал Предоставленный XML недействителен. Недопустимый тег ‹account_code› — это очень конкретная ошибка.   -  person Tomalak    schedule 05.12.2016
comment
Итак, каковы ваши предложения?   -  person Sameera Danthanarayna    schedule 05.12.2016
comment
Что вы думаете о том, что означает сообщение об ошибке? Выполнить поиск сообщения об ошибке? Читать документацию по API? Возьмите Wireshark, посмотрите пакеты HTTP и сравните? Все это базовая отладка. Это ваша работа. Вы должны были сделать их, прежде чем прийти сюда, чтобы задать вопрос.   -  person Tomalak    schedule 05.12.2016
comment
звучит отлично.. :)   -  person Sameera Danthanarayna    schedule 05.12.2016


Ответы (1)


есть ошибка форматирования данных не XML, если вы знаете о модулях libxmljs для node, затем используйте с node-recurly, которые помогают решать проблемы, например,

var libxmljs = require("libxmljs");
var xml =  '<?xml version="1.0" encoding="UTF-8"?>' +
           '<root>' +
               '<child foo="bar">' +
                   '<grandchild baz="fizbuzz">grandchild      content</grandchild>' +
               '</child>' +
               '<sibling>with content!</sibling>' +
           '</root>';

используйте создание транзакционного кода, замените значения переменных xml.

// Example with Stored Billing Info
<transaction>
  <amount_in_cents>100</amount_in_cents>
  <currency>USD</currency>
  <account>
    <account_code>1</account_code>
  </account>
</transaction>

// Example with new Billing Info
<transaction>
  <amount_in_cents>1000</amount_in_cents>
  <currency>USD</currency>
  <account>
    <account_code>1</account_code>
    <billing_info>
      <first_name>Verena</first_name>
      <last_name>Example</last_name>
      <address1>123 Main St.</address1>
      <city>San Francisco</city>
      <zip>94105</zip>
      <country>US</country>
      <number>4111-1111-1111-1111</number>
      <verification_value>123</verification_value>
      <month>11</month>
      <year>2015</year>
    </billing_info>
  </account>
</transaction>
person Ankur Rupapara    schedule 05.12.2016
comment
Спасибо за ваш отзыв, не могли бы вы сделать небольшой образец здесь? - person Sameera Danthanarayna; 05.12.2016
comment
если вы используете неофициальный API-интерфейс node.js, проверьте свою функцию recurly.transactions.create, проверьте наличие проблем с тегом account_code и убедитесь, что ваш orgId является строкой. - person Ankur Rupapara; 06.12.2016