Update client session
Changed onYou can update a clients session created earlier with the PATCH /client-session API call.
The only required field for the request is clientToken. Other supported request fields are same as for the POST /client-session API call.
You need to specify only the fields you wish to update. However, if the items to be updated are arrays (e.g.lineItems), you need to provide the entire array, including any new or modified items. Primer will replace the full array with whatever is sent in the request. If you want to keep existing items, make sure to include them in your request, anything omitted will be removed.
If you wish to update nested fields on the client session, such as the customer emailAddress field, you can pass the customer object with only one field, emailAddress, to update.
If you simply wish to clear the value of the field, pass null as your input.
You can update paymentMethod.vaultOnSuccess field but updating of the paymentMethod.options field through PATCH /client-session is not supported.
approvalMode and currentAttemptId are immutable: a request that includes either field is rejected with a 422.
The response will contain all the fields of the client session including the ones that were changed.
Request
- Base URLhttps://api.sandbox.primer.io
- URLhttps://api.sandbox.primer.io/client-session
- AuthAPI key in header X-API-KEY
Headers
Specifies the version of the API to use. This must be set to 2.4.
Request body
Example request
{
"clientToken": "client-session-token",
"customerId": "customer-123",
"orderId": "order-abc",
"customer": {
"emailAddress": "john@primer.io"
},
"amount": 500,
"paymentMethod": {
"authorizationType": "FINAL"
},
"order": {
"lineItems": [
{
"itemId": "shoe-123",
"description": "Blue Shoe",
"amount": 100,
"quantity": 10
}
],
"countryCode": "FR"
}
}Response
Successful Response
Example response
{
"customerId": "customer-123",
"orderId": "order-abc",
"currencyCode": "GBP",
"amount": 650,
"metadata": {
"productType": "Clothing"
},
"customer": {
"emailAddress": "john@primer.io"
},
"order": {
"lineItems": [
{
"itemId": "t-shirt-1",
"description": "White T-Shirt",
"amount": 500,
"quantity": 1
}
],
"fees": [
{
"type": "SURCHARGE",
"amount": 100
}
],
"shipping": {
"amount": 50
},
"paymentMethod": {
"vaultOnSuccess": false,
"vaultOn3DS": false,
"options": {
"GOOGLE_PAY": {
"surcharge": {
"amount": 100
}
},
"PAYMENT_CARD": {
"networks": {
"VISA": {
"surcharge": {
"amount": 10
}
},
"MASTERCARD": {
"surcharge": {
"amount": 20
}
}
}
},
"PAY_NL_IDEAL": {
"surcharge": {
"amount": 50
}
}
}
},
"authorizationType": "ESTIMATED"
}
}Changes
- breaking
the request property
became required - breaking
the
request property's minLength was increased from0to1 - breaking
the
request property's minLength was increased from0to1 - warning
the
request property's maxLength was set to255 - warning
the
request property's maxLength was set to255 - warning
added the new
EFTPOSenum value to the//response property for the response status - warning
added the new
SLEenum value to theresponse property for the response status - warning
added the new
STNenum value to theresponse property for the response status - warning
added the new
VEDenum value to theresponse property for the response status - warning
added the new
VESenum value to theresponse property for the response status - warning
added the new
XCGenum value to theresponse property for the response status - warning
added the new
ZWGenum value to theresponse property for the response status - info
added the new
EFTPOSenum value to the request property// - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
removed the
MROenum value from theresponse property for the response status - info
removed the
XAGenum value from theresponse property for the response status - info
removed the
XAUenum value from theresponse property for the response status - info
removed the
XBAenum value from theresponse property for the response status - info
removed the
XBBenum value from theresponse property for the response status - info
removed the
XBCenum value from theresponse property for the response status - info
removed the
XBDenum value from theresponse property for the response status - info
removed the
XDRenum value from theresponse property for the response status - info
removed the
XFUenum value from theresponse property for the response status - info
removed the
XPDenum value from theresponse property for the response status - info
removed the
XPTenum value from theresponse property for the response status - info
removed the
XSUenum value from theresponse property for the response status - info
removed the
XTSenum value from theresponse property for the response status - info
removed the
XUAenum value from theresponse property for the response status
- breaking