Braintree
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.availablePaymentGatewaysfield). 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(added in Saleor 3.1).metadata: a list of MetadataInput (added in Saleor 3.1).
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.