click and reverse with upselling and shopping history

One of the benefits the PAYONE Commerce Platform offers is the possibility to retrieve a shopping history from customers in order to explore upselling and aftersale potentials. One example to make use of this benefit is the Click & Reserve use-case in combination with upselling in store.

 Process flow

High-level summary:

  • Customer orders product online and receives order confirmation (e.g. with the Checkout-ID as barcode or QR-Code).
  • Customer presents the order confirmation in the local store.
  • Employee retrieves the checkout using the checkout reference or personal information in the Commerce Portal.
  • Customer decides to buy additional products in store.
  • Customer pays reserved and additional products in the store (e.g. with credit card) and leaves the shop with the products.

Create Commerce Case and Checkout in webshop

POST Commerce Case
Request
POST/v1{merchantId}/commerce-cases
{
    "merchantReference": "Sample-Commerce-Case",
    "customer": {
        "companyInformation": {
            "name": "Customer Company Name"
        },
        "billingAddress": {
            "city": "Musterstadt",
            "countryCode": "DE",
            "houseNumber": "1",
            "state": "SH",
            "street": "Musterstraße",
            "zip": "12345"
        },
        "merchantCustomerId": "Test-Customer",
        "contactDetails": {
            "emailAddress": "max@mustermann.de",
            "phoneNumber": "+1234567890"
        },
        "fiscalNumber": "fiscalNumber",
        "businessRelation": "B2C",
        "locale": "de",
        "personalInformation": {
            "gender": "MALE",
            "name": {
                "firstName": "Max",
                "surname": "Mustermann"
            },
            "dateOfBirth": "19950411"
        }
    },
    "checkout": {
        "amountOfMoney": {
            "amount": 49900,
            "currencyCode": "EUR"
        },
        "references": {
            "merchantReference": "Click_Reserve_123"
        },
        "shipping": {
            "address": {
                "city": "Musterstadt",
                "countryCode": "DE",
                "houseNumber": "1",
                "state": "SH",
                "street": "Musterstraße",
                "zip": "12345",
                "name": {
                    "firstName": "Max",
                    "surname": "Mustermann"
                }
            }
        },
        "shoppingCart": {
            "items": [
                {
                    "invoiceData": {
                        "description": "Laptop"
                    },
                    "orderLineDetails": {
                        "productCode": "LNVO-245",
                        "productPrice": 49900,
                        "productType": "GOODS",
                        "quantity": 1,
                        "taxAmount": 19
                    }
                }
            ]
        }
    }
}
Response
{
  "commerceCaseId": "7db923e7-158b-4914-8862-d4d53c773b9b",
  "merchantReference": "Sample-Commerce-Case",
  "customer": {
    "companyInformation": {
      "name": "Customer Company Name"
    },
    "merchantCustomerId": "Test-Customer",
    "billingAddress": {
      "city": "Musterstadt",
      "countryCode": "DE",
      "houseNumber": "1",
      "state": "SH",
      "street": "Musterstraße",
      "zip": "12345"
    },
    "contactDetails": {
      "emailAddress": "max@mustermann.de",
      "phoneNumber": "+1234567890"
    },
    "fiscalNumber": "fiscalNumber",
    "businessRelation": "B2C",
    "locale": "de",
    "personalInformation": {
      "dateOfBirth": "19950411",
      "gender": "MALE",
      "name": {
        "firstName": "Max",
        "surname": "Mustermann"
      }
    }
  },
  "checkout": {
    "checkoutId": "e11f6076-8bc7-410e-8084-dd5549af0c10",
    "shoppingCart": {
      "items": [
        {
          "invoiceData": {
            "description": "Laptop"
          },
          "orderLineDetails": {
            "id": "56a9e2be-93f2-4992-be96-f618378dc5ea",
            "productCode": "LNVO-245",
            "productPrice": 49900,
            "productType": "GOODS",
            "quantity": 1,
            "taxAmount": 19
          }
        }
      ]
    },
    "amountOfMoney": {
      "amount": 49900,
      "currencyCode": "EUR"
    },
    "references": {
      "merchantReference": "Click_Reserve_123"
    },
    "shipping": {
      "address": {
        "city": "Musterstadt",
        "countryCode": "DE",
        "houseNumber": "1",
        "state": "SH",
        "street": "Musterstraße",
        "zip": "12345",
        "name": {
          "firstName": "Max",
          "surname": "Mustermann"
        }
      }
    },
    "checkoutStatus": "OPEN",
    "statusOutput": {
      "paymentStatus": "WAITING_FOR_PAYMENT",
      "isModifiable": true,
      "openAmount": 0,
      "collectedAmount": 0,
      "cancelledAmount": 0,
      "refundedAmount": 0,
      "chargebackAmount": 0
    },
    "creationDateTime": "2024-02-09T19:39:43.552645834Z",
    "allowedPaymentActions": [
      "ORDER_MANAGEMENT",
      "PAYMENT_EXECUTION"
    ]
  },
  "creationDateTime": "2024-02-09T19:39:43.552645834Z"
}
Note: process of retrieving the Checkout from the PAYONE Commerce Portal and linking the POS payment with the Checkout not shown here. For illustration of this process: Click & Reserve 

Update checkout shopping cart after payment

The Checkout can be updated with the additional item that was purchased in the local store. The product information can be provided from your backend system or directly from the electronic-cash-register (ECR) from the POS.

PATCH Checkout
Request
PATCH/v1/{merchantId}/commerce-cases/{commerceCaseId}/checkouts/{checkoutId}
{
  "amountOfMoney": {
    "amount": 57899,
    "currencyCode": "EUR"
  },
  "shoppingCart": {
    "items": [
      {
        "invoiceData": {
          "description": "Laptop"
        },
        "orderLineDetails": {
          "productCode": "LNVO-245",
          "productPrice": 49900,
          "productType": "GOODS",
          "quantity": 1,
          "taxAmount": 19
        }
      },
      {
        "invoiceData": {
          "description": "Mouse"
        },
        "orderLineDetails": {
          "productCode": "RZR-142",
          "productPrice": 7999,
          "productType": "GOODS",
          "quantity": 1,
          "taxAmount": 19
        }
      }
    ]
  }
}

Retrieve commerce case and checkout for shopping history

After updating the Checkout, the purchase history can be retrieved.

GET Checkout
Request
GET/v1/{merchantId}/commerce-cases/{commerceCaseId}/checkouts/{checkoutId}
{
  "merchantReference": "Sample-Commerce-Case",
  "commerceCaseId": "cb30a266-f5a5-4bc8-be19-cfe169994a4e",
  "customer": {
    "companyInformation": {
      "name": "Customer Company Name"
    },
    "merchantCustomerId": "Test-Customer",
    "billingAddress": {
      "city": "Musterstadt",
      "countryCode": "DE",
      "houseNumber": "1",
      "state": "SH",
      "street": "Musterstraße",
      "zip": "12345"
    },
    "contactDetails": {
      "emailAddress": "max@mustermann.de",
      "phoneNumber": "+1234567890"
    },
    "fiscalNumber": "fiscalNumber",
    "businessRelation": "B2C",
    "locale": "de",
    "personalInformation": {
      "dateOfBirth": "19950411",
      "gender": "MALE",
      "name": {
        "firstName": "Max",
        "surname": "Mustermann"
      }
    }
  },
  "checkouts": [
    {
      "commerceCaseId": "cb30a266-f5a5-4bc8-be19-cfe169994a4e",
      "checkoutId": "288cda8c-eb4b-4184-817c-4855280f8a76",
      "merchantCustomerId": "Test-Customer",
      "amountOfMoney": {
        "amount": 57899,
        "currencyCode": "EUR"
      },
      "references": {
        "merchantReference": "Click_Reserve_1234"
      },
      "shipping": {
        "address": {
          "city": "Musterstadt",
          "countryCode": "DE",
          "houseNumber": "1",
          "state": "SH",
          "street": "Musterstraße",
          "zip": "12345",
          "name": {
            "firstName": "Max",
            "surname": "Mustermann"
          }
        }
      },
      "shoppingCart": {
        "items": [
          {
            "invoiceData": {
              "description": "Laptop"
            },
            "orderLineDetails": {
              "id": "12e6b533-8d42-444f-924e-1290d04a8891",
              "productCode": "LNVO-245",
              "productPrice": 49900,
              "productType": "GOODS",
              "quantity": 1,
              "taxAmount": 19
            }
          },
          {
            "invoiceData": {
              "description": "Mouse"
            },
            "orderLineDetails": {
              "id": "1e01b8e8-bc6d-4ca0-852c-196aa03cae27",
              "productCode": "RZR-142",
              "productPrice": 7999,
              "productType": "GOODS",
              "quantity": 1,
              "taxAmount": 19
            }
          }
        ]
      },
      "checkoutStatus": "BILLED",
      "statusOutput": {
        "paymentStatus": "PAYMENT_COMPLETED",
        "isModifiable": true,
        "openAmount": 0,
        "collectedAmount": 57899,
        "cancelledAmount": 0,
        "refundedAmount": 0,
        "chargebackAmount": 0
      },
      "creationDateTime": "2024-02-09T19:54:06.518275415Z",
      "allowedPaymentActions": [
        "ORDER_MANAGEMENT",
        "PAYMENT_EXECUTION"
      ]
    }
  ],
  "creationDateTime": "2024-02-09T19:54:06.518275415Z"
}