#javascript #graphql #braintree #mutation
Вопрос:
Я нахожусь в процессе миграции из Брейнтри Node.js API для GraphQL. Метод braintree.gateway.transaction.sale(параметры) старого API принимает параметр с объектом клиента со свойствами: имя, фамилия, адрес электронной почты и телефон.
В API GraphQL Braintree эта мутация взимает плату за способ оплаты…
mutation chargePaymentMethod($input: ChargePaymentMethodInput!) {
chargePaymentMethod(input: $input) {
transaction {
id
status
}
}
}
{
"input": {
"paymentMethodId": "fake-valid-nonce",
"transaction": {
"amount": "1.00"
}
}
}
Платежныйметодинпут.TransactionInput поддерживает идентификатор пользователя, но не тип пользовательского ввода, который имеет имя, фамилию и т. Д. как в старом методе braintree.gateway.transaction.sale ().
Я предполагаю, что мне нужно сделать запрос, чтобы узнать, существует ли клиент. Если нет, используйте мутацию CreateCustomer. Если они это сделают, используйте UpdateCustomer. Затем получите идентификатор клиента и передайте его в мутацию метода оплаты платежей.
Есть ли способ смешать запрос, чтобы узнать, существует ли клиент с несколькими мутациями в одном запросе (вложенные мутации)? На данный момент примеров крайне мало.
Если мне придется выполнять отдельные запросы, я, вероятно, буду придерживаться старого API, так как он будет более эффективным.