Braintree Plugin
Creating payment
The checkoutPaymentCreate
mutation takes the following arguments:
id
: the checkout id (if required by a payment gateway).input
: PaymentInput object:gateway
: the ID of the selected payment gateway (a list of the available payment gateways can be fetched from theCheckout.availablePaymentGateways
field). The selected gateway must support the checkout currency.token
: a client-side generated payment token (if required).amount
: the total amount of this operation.returnUrl
: URL of a storefront view where the user should be redirected after requiring additional actions. Payment with additional actions will not be finished if this field is not provided.storePaymentMethod
: the type of payment storage in a gateway. StorePaymentMethod value. If not provided, defaults toNONE
.metadata
: a list of MetadataInput.
This mutation returns the following fields:
checkout
: the updated checkout object.payment
: the newly created payment object.errors
: a list of errors that occurred during mutation execution.
mutation {
checkoutPaymentCreate(
id: "Q2hlY2tvdXQ6ZTEzZDFjOTItOWJkNi00ODViLTgyMDctZTNhM2I5NjVkZTQw"
input: {
gateway: "mirumee.payments.braintree"
token: "tokencc_bh_s3bjkh_24smq8_6c6zhq_w4v6b9_8vz"
amount: 25.99
storePaymentMethod: ON_SESSION
metadata: [{ key: "user_id", value: "#1234" }]
}
) {
payment {
id
chargeStatus
metadata {
key
value
}
}
paymentErrors {
field
message
}
}
}
Expand ▼
As a result, we get the payment object:
{
"data": {
"checkoutPaymentCreate": {
"payment": {
"id": "UGF5bWVudDox",
"chargeStatus": "NOT_CHARGED",
"metadata": [
{
"key": "user_id",
"value": "#1234"
}
]
},
"errors": []
}
}
}
Afterward we can call checkoutComplete
mutation to finalize checkout.