Please find new changes in term of configuration & tech to implement Paypal Ref Transaction here:
...
Sales Type: Continuity
Sales Model: Below sales model allow us to bill user twice. 1st time we bill Discounted Price ($9 per unit). 2nd time (after 15 days), we will full price with shipping fee.
Pre-order (product): https://www.tryemanagecrm.com/#/sales-models/42
Pre-order (package): https://www.tryemanagecrm.com/#/sales-models/43
Payment Provider: have PayPalRefTrans (processorID 31) for paypal checkout
Sample Page: https://www.thegadgetreviewguy.com/en/order-res-pp.html?isCardTest=1
2. Endpoint:
Create Order - POST:
URL: https://sales-prod.tryemanagecrm.com/api/orders/d19cc1ac-4ebe-4007-b22e-575869a56f77?behaviorId=2
Payload Data:
Code Block language json { "couponCode": null, "shippingMethodId": 565, "comment": "", "useShippingAddressForBilling": true, "productId": 767, "customer": { "email": null, "phoneNumber": null, "firstName": null, "lastName": null }, "payment": { "paymentProcessorId": 31 }, "billingAddress": null, "analyticsV2": { "referringUrl": "", "landingUrl": "https://test.thegadgetreviewguy.com/en/order-res-test.html?iscardtest=1&sub1=123&sub2=321&afid=123", "userStringData64": "U29mdHdhcmVWZXJzaW9uPTAuMS4xMSZGaW5nZXJwcmludD00MDE1NjUzMjM1JlVzZXJBZ2VudExvd2VyQ2FzZT1tb3ppbGxhJTJGNS4wJTIwKHdpbmRvd3MlMjBudCUyMDEwLjAlM0IlMjB3aW42NCUzQiUyMHg2NCklMjBhcHBsZXdlYmtpdCUyRjUzNy4zNiUyMChraHRtbCUyQyUyMGxpa2UlMjBnZWNrbyklMjBjaHJvbWUlMkY4MC4wLjM5ODcuMTAwJTIwc2FmYXJpJTJGNTM3LjM2JkJyb3dzZXI9Q2hyb21lJkJyb3dzZXJWZXJzaW9uPTgwLjAuMzk4Ny4xMDAmRW5naW5lPVdlYktpdCZPUz1XaW5kb3dzJk9TVmVyc2lvbj0xMCZEZXZpY2U9biUyRmEmRGV2aWNlVHlwZT1uJTJGYSZEZXZpY2VWZW5kb3I9biUyRmEmQ1BVPWFtZDY0JmlzTW9iaWxlPW4lMkZhJmlzTW9iaWxlTWFqb3I9biUyRmEmaXNNb2JpbGVBbmRyb2lkPW4lMkZhJmlzTW9iaWxlT3BlcmE9biUyRmEmaXNNb2JpbGVXaW5kb3dzPW4lMkZhJmlzTW9iaWxlQmxhY2tCZXJyeT1uJTJGYSZpc01vYmlsZUlPUz1uJTJGYSZpc0lwaG9uZT1uJTJGYSZpc0lwYWQ9biUyRmEmaXNJcG9kPW4lMkZhJlNjcmVlblByaW50PUN1cnJlbnQlMjBSZXNvbHV0aW9uJTNBJTIwMTkyMHgxMDgwJTJDJTIwQXZhaWxhYmxlJTIwUmVzb2x1dGlvbiUzQSUyMDE5MjB4MTA0MCUyQyUyMENvbG9yJTIwRGVwdGglM0ElMjAyNCUyQyUyMERldmljZSUyMFhEUEklM0ElMjB1bmRlZmluZWQlMkMlMjBEZXZpY2UlMjBZRFBJJTNBJTIwdW5kZWZpbmVkJkNvbG9yRGVwdGg9MjQmQ3VycmVudFJlc29sdXRpb249MTkyMHgxMDgwJkF2YWlsYWJsZVJlc29sdXRpb249MTkyMHgxMDQwJkRldmljZVhEUEk9biUyRmEmRGV2aWNlWURQST1uJTJGYSZQbHVnaW5zPUNocm9tZSUyMFBERiUyMFBsdWdpbiUyQyUyMENocm9tZSUyMFBERiUyMFZpZXdlciUyQyUyME5hdGl2ZSUyMENsaWVudCZpc0phdmE9biUyRmEmSmF2YVZlcnNpb249biUyRmEmaXNGbGFzaD1uJTJGYSZGbGFzaFZlcnNpb249biUyRmEmaXNTaWx2ZXJsaWdodD1uJTJGYSZTaWx2ZXJsaWdodFZlcnNpb249biUyRmEmaXNNaW1lVHlwZXM9dHJ1ZSZNaW1lVHlwZXM9JTJDJTIwUG9ydGFibGUlMjBEb2N1bWVudCUyMEZvcm1hdCUyQyUyME5hdGl2ZSUyMENsaWVudCUyMEV4ZWN1dGFibGUlMkMlMjBQb3J0YWJsZSUyME5hdGl2ZSUyMENsaWVudCUyMEV4ZWN1dGFibGUmRm9udHM9QWdlbmN5JTIwRkIlMkMlMjBBcmlhbCUyMEJsYWNrJTJDJTIwQXJpYWwlMkMlMjBCYXVoYXVzJTIwOTMlMkMlMjBCZWxsJTIwTVQlMkMlMjBCb2RvbmklMjBNVCUyQyUyMEJvb2ttYW4lMjBPbGQlMjBTdHlsZSUyQyUyMEJyb2Fkd2F5JTJDJTIwQ2FsaWJyaSUyMExpZ2h0JTJDJTIwQ2FsaWJyaSUyQyUyMENhbGlmb3JuaWFuJTIwRkIlMkMlMjBDYW1icmlhJTIwTWF0aCUyQyUyMENhbWJyaWElMkMlMjBDYW5kYXJhJTJDJTIwQ2FzdGVsbGFyJTJDJTIwQ2VudGF1ciUyQyUyMENlbnR1cnklMjBHb3RoaWMlMkMlMjBDb2xvbm5hJTIwTVQlMkMlMjBDb21pYyUyMFNhbnMlMjBNUyUyQyUyMENvbnNvbGFzJTJDJTIwQ29uc3RhbnRpYSUyQyUyMENvcHBlcnBsYXRlJTIwR290aGljJTIwTGlnaHQlMkMlMjBDb3JiZWwlMkMlMjBDb3VyaWVyJTIwTmV3JTJDJTIwRWJyaW1hJTJDJTIwRW5ncmF2ZXJzJTIwTVQlMkMlMjBGb3J0ZSUyQyUyMEZyYW5rbGluJTIwR290aGljJTIwSGVhdnklMkMlMjBGcmFua2xpbiUyMEdvdGhpYyUyME1lZGl1bSUyQyUyMEZyZW5jaCUyMFNjcmlwdCUyME1UJTJDJTIwR2FicmlvbGElMkMlMjBHZW9yZ2lhJTJDJTIwR2lnaSUyQyUyMEdvdWR5JTIwT2xkJTIwU3R5bGUlMkMlMjBIYWV0dGVuc2Nod2VpbGVyJTJDJTIwSGFycmluZ3RvbiUyQyUyMEltcGFjdCUyQyUyMEluZm9ybWFsJTIwUm9tYW4lMkMlMjBMZWVsYXdhZGVlJTJDJTIwTHVjaWRhJTIwQnJpZ2h0JTJDJTIwTHVjaWRhJTIwQ29uc29sZSUyQyUyMEx1Y2lkYSUyMEZheCUyQyUyMEx1Y2lkYSUyMFNhbnMlMjBVbmljb2RlJTJDJTIwTVMlMjBHb3RoaWMlMkMlMjBNUyUyMFBHb3RoaWMlMkMlMjBNUyUyMFJlZmVyZW5jZSUyMFNhbnMlMjBTZXJpZiUyQyUyME1TJTIwVUklMjBHb3RoaWMlMkMlMjBNViUyMEJvbGklMkMlMjBNYWduZXRvJTJDJTIwTWFsZ3VuJTIwR290aGljJTJDJTIwTWFybGV0dCUyQyUyME1hdHVyYSUyME1UJTIwU2NyaXB0JTIwQ2FwaXRhbHMlMkMlMjBNaWNyb3NvZnQlMjBIaW1hbGF5YSUyQyUyME1pY3Jvc29mdCUyMEpoZW5nSGVpJTJDJTIwTWljcm9zb2Z0JTIwTmV3JTIwVGFpJTIwTHVlJTJDJTIwTWljcm9zb2Z0JTIwUGhhZ3NQYSUyQyUyME1pY3Jvc29mdCUyMFNhbnMlMjBTZXJpZiUyQyUyME1pY3Jvc29mdCUyMFRhaSUyMExlJTJDJTIwTWljcm9zb2Z0JTIwVWlnaHVyJTJDJTIwTWljcm9zb2Z0JTIwWWFIZWklMkMlMjBNaWNyb3NvZnQlMjBZaSUyMEJhaXRpJTJDJTIwTWluZ0xpVS1FeHRCJTJDJTIwTWluZ0xpVV9IS1NDUy1FeHRCJTJDJTIwTW9uZ29saWFuJTIwQmFpdGklMkMlMjBOU2ltU3VuJTJDJTIwTmlhZ2FyYSUyMFNvbGlkJTJDJTIwUE1pbmdMaVUtRXh0QiUyQyUyMFBhbGFjZSUyMFNjcmlwdCUyME1UJTJDJTIwUGFsYXRpbm8lMjBMaW5vdHlwZSUyQyUyMFBhcHlydXMlMkMlMjBQZXJwZXR1YSUyQyUyMFBsYXliaWxsJTJDJTIwUm9ja3dlbGwlMkMlMjBTZWdvZSUyMFByaW50JTJDJTIwU2Vnb2UlMjBTY3JpcHQlMkMlMjBTZWdvZSUyMFVJJTIwTGlnaHQlMkMlMjBTZWdvZSUyMFVJJTIwU2VtaWJvbGQlMkMlMjBTZWdvZSUyMFVJJTIwU3ltYm9sJTJDJTIwU2Vnb2UlMjBVSSUyQyUyMFNob3djYXJkJTIwR290aGljJTJDJTIwU2ltU3VuJTJDJTIwU2ltU3VuLUV4dEIlMkMlMjBTbmFwJTIwSVRDJTJDJTIwU3lsZmFlbiUyQyUyMFN5bWJvbCUyQyUyMFRhaG9tYSUyQyUyMFRpbWVzJTIwTmV3JTIwUm9tYW4lMkMlMjBUcmVidWNoZXQlMjBNUyUyQyUyMFZlcmRhbmElMkMlMjBWbGFkaW1pciUyMFNjcmlwdCUyQyUyMFdlYmRpbmdzJTJDJTIwV2lkZSUyMExhdGluJTJDJTIwV2luZ2RpbmdzJmlzTG9jYWxTdG9yYWdlPXRydWUmaXNTZXNzaW9uU3RvcmFnZT10cnVlJmlzQ29va2llPXRydWUmVGltZVpvbmU9SW5kb2NoaW5hJTIwVGltZSZMYW5ndWFnZT1lbi1VUyZTeXN0ZW1MYW5ndWFnZT1uJTJGYSZpc0NhbnZhcz10cnVlJkN1c3RvbUZpbmdlcnByaW50PTE1NjIyODQwOTE=" }, "funnelBoxId": 0, "antiFraud": { "sessionId": "0f8c2942dd8847898d153ff19dd31755" }, "fingerPrintId": "52c5d37931f4a4ffc93c67397db576b4" }
Note: "paymentProcessorId": 31
Confirm Order - PUT:
Payload Data:
Code Block { "PaymentProcessorId": "31" }
Note:
TrackingNumber is returned data from create order
Create Upsell - POST:
URL: https://sales-prod.tryemanagecrm.com/api/orders/f66ffc04-0c9a-4765-a4b9-27283879132d?behaviorId=2
Payload Data:
Code Block { "campaignUpsell": { "webKey": "f66ffc04-0c9a-4765-a4b9-27283879132d", "relatedOrderNumber": "83725226" }, "shippingMethodId": 517, "comment": "", "useShippingAddressForBilling": true, "productId": 1159, "customer": { "email": null }, "payment": { "paymentProcessorId": 31, "callBackParam": "?&isCardTest=1&up_amp-split-v1=1" }, "shippingAddress": null, "funnelBoxId": 0, "antiFraud": { "sessionId": "973c5993c9ae4e66a14f3c5050859075" } }
Note: "paymentProcessorId": 31,
3. Feature Changes:
Order Page:
Feature 1: Change paymentProcessorId to 31
paymenttype
to paypal31 (Just make it difference “paypal”)Feature 2: Set flag order page is Pre-Order type (use after product list is called from API (used for confirm page): preOrder in localStorage
Success Page:
Check if paymentProcessorId 31 then set
trackingNumber
by parameter named token
Upsell Page:
Set paymentProcessorId value is dynamic: 5 or 31. This value get from localstorage saved from order page.
Confirm Page:
Check if user checkout from Pre-Order page (preOrder in localStorage) => Update the Text.
Text changes:
ITEMS PRE-ORDERED
Your deposit will be processed for {productTotal} ({orderNumber}) and will appear as {midDescriptor}. You will be charged the price of the products when they ship.
Don’t Check if paymentProcessorId is 31 then don’t run API update status for Upsell if paymentProcessorId is 31
JS file: https://d16hdrba6dusey.cloudfront.net/sitecommon/js/pages/confirm.page.js