How to Capture Info after Checkout

I have a very custom store created. All works, including the checkout and credit card payment. I cannot find a way to capture the info the visitor enters into the checkout form… address, etc.

I did find that the event in wixPay_onPaymentUpdate(event) has event.userInfo, but that seems not to include the person’s address…just name.

Thanks for any help!

If this is hooked up to wix stores, then all the data collected will live in your orders dashboard as well as contacts– a user is typically automatically created as a contact after purchase. You can also look into hooks here if you want to make your own collection and take their info and place it into a custom database. You would add a backend hook in a file named events.js. Check out the wix documentation here and choose which hook you would like.

I am not using Wix Stores. Only Wix Pay.

I am not using Wix Stores. Only Wix Pay.

Please help. I do not see a way to capture the info from the checkout procdure.
I am not using Wix Stores. I am using Wix Pay.
Folks are entering info into checkout and I do not have access to that info??
I have performed a few checkouts and nothing is saved as a contact (because I am not using Wix Stores).
This is frustrating.

Then setting a hook after a successfully payment should still work for you. In the hook you take the item that was completed (the purchaser) and push their data into a custom database that stores your purchasers

I’m not sure what callback you are talking about with “setting a hook”. I am not using Wix Stores. My paymentInfo object has all of the info. I don’t see what I have access to, that has my data, either at Step-7, or in the backend.
Thank you very much for all of your help.

createMyPayment ( paymentInfo )
// When the payment has been created and a paymentId has been returned:
. then ( ( payment ) => {
// Step 5 - Call the startPayment() function with the paymentId.
// Include PaymentOptions to customize the payment experience.
console . log ( "payment obj: " + JSON . stringify ( payment ));
wixPay . startPayment ( , {
“showThankYouPage” : false ,
“termsAndConditionsLink” : “
// Step 6 - Visitor enters the payment information.
// When the payment form is completed:
. then ( ( result ) => {
// Step 7 - Handle the payment result.
// (Next, see step 8 in the backend code below.)
if ( result.status === “Successful” ) {
wixWindow . openLightbox ( “Success Box” );
} else if ( result.status === “Pending” ) {
wixWindow . openLightbox ( “Pending Box” );
} );
} );

You could submit the form details in the function you have or have the hook do it every time the payment is successful. I’m not sure if your code is client side or in the backend (or both) but you would want to pass the user data over to your backend function as a parameter and once a payment is successful, use Wix Data API to create a new purchaser in your custom database. If you use a hook instead, the payment details are a variable for the hook and all you need to do is map which fields You want for your database. Here’s the documentation for the hook I keep mentioning- onPaymentUpdate - Velo API Reference -

“onpaymentupdate” in the API, shows this. There is no address.

Copy Code

1// Place this code in the events.js file
2// of your site's Backend section.
4export function wixPay_onPaymentUpdate(event) {
5  let paymentId =;
6  let newTransactionStatus = event.status;
9/*  Full event object:
10 *  {
11 *    "payment": {
12 *      "id": "8b3c1a90-c09e-4cd7-ae9d-9801151d8ad9",
13 *      "amount": 15.99,
14 *      "currency": "USD",
15 *      "items": [
16 *        {
17 *          "name": "Baseball Bat",
18 *          "quantity": 1,
19 *          "price": 15.99
20 *        }
21 *      ]
22 *    },
23 *    "userInfo": {
24 *      "firstName": "Mike",
25 *      "lastName": "Trout",
26 *      "countryCode": "USA",
27 *      "phone": null,
28 *      "email": ""
29 *    },
30 *    "status": "Successful",
31 *    "transactionId": "83f1830a-c74e-4abe-894d-3ee388b7e985"
32 *  }
33 */