Биксби: не может принудить payInfo.currency к строке - PullRequest
0 голосов
/ 03 февраля 2020

Я внедряю платежную систему в своей капсуле. Но получаю ошибку при использовании валюты в способе оплаты SPS в конечных точках.

payment { 
    amount (50)
    currency (payInfo.currency)
    item {
        name ("abcd")
        amount (50)
        count (1)
    }
    tax {
       amount (0)
    }
}

В настоящее время мы использовали stati c сумму, детали товара и т. Д. c.

Структура для Валюта:

enum (Currency) {
 symbol (USD)
 symbol (EUR)
 symbol (VUV)
}

Структура PayInfo:

structure (payInfo) {
  property (currency) {
     type (Currency)
     min (Optional)
     max (One)
  }
}

Ссылка Биксби, которую я использовал:

https://bixbydevelopers.com/dev/docs/dev-guide/developers/actions.payments

https://bixbydevelopers.com/dev/docs/reference/type/endpoints.action-endpoints.action-endpoint.payment-methods.sps.payment.currency

enter image description here

-------------------- -------- выпуск 2 ----------------------------------------

Мы создали структуру информации как

structure (Information){
  property (amount) {
    type (Amount)
    min (Optional)
    max (Many)
  }
  property (currency) {
    type (Currency)
    min (Optional)
    max (Many)
  }
}

и структуру валюты как

enum (Currency) {
  symbol (USD)
  symbol (EUR)
  symbol (VUV)
}

После этого в действии PaymentAction мы определили структуру информации как тип для входного платежа .

action (PaymentAction) {
  type(Commit)
  collect {
    input (payInfo) {
      type (Information)
      min (Optional)
    }
  }
  output (makepayment)
}

И добавил одно высказывание в обучении как:

[g: PaymentAction] Произвести оплату

Благодаря этому наша ошибка разрешается, но когда мы запускаем код в симулятор, получая сообщение об ошибке Capsule как Com.google.common.base.VerifyException: '' не является действительным кодом валюты ISO 4217.

1 Ответ

0 голосов
/ 05 февраля 2020

Я думаю, что сообщение об ошибке означает, что payInfo не найден. Это должна быть концепция ввода, а не имя структуры. Также я бы рекомендовал переименовать структуру в PayInfo вместо payInfo.

Пожалуйста, смотрите прикрепленный скриншот. enter image description here

...