{"id":28577594,"url":"https://github.com/mastercard/mastercard-loyalty-connect-reference-app","last_synced_at":"2025-06-11T00:38:59.471Z","repository":{"id":39946926,"uuid":"223096005","full_name":"Mastercard/mastercard-loyalty-connect-reference-app","owner":"Mastercard","description":"MasterCard Loyalty Connect reference app implementation","archived":false,"fork":false,"pushed_at":"2023-03-23T15:51:23.000Z","size":700,"stargazers_count":1,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-16T10:43:18.265Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mastercard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-21T05:33:57.000Z","updated_at":"2021-12-17T09:14:44.000Z","dependencies_parsed_at":"2022-08-25T09:11:34.015Z","dependency_job_id":null,"html_url":"https://github.com/Mastercard/mastercard-loyalty-connect-reference-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fmastercard-loyalty-connect-reference-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fmastercard-loyalty-connect-reference-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fmastercard-loyalty-connect-reference-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fmastercard-loyalty-connect-reference-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mastercard","download_url":"https://codeload.github.com/Mastercard/mastercard-loyalty-connect-reference-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mastercard%2Fmastercard-loyalty-connect-reference-app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259177339,"owners_count":22817349,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-11T00:38:31.979Z","updated_at":"2025-06-11T00:38:59.422Z","avatar_url":"https://github.com/Mastercard.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MasterCard Loyalty Connect Reference Application\n\n## Description\nThis Reference Application is a guide for using MasterCard Loyalty Connect API's.\n\n## Requirements\n\nReference Application requires:\n1. Java 1.7+\n2. Maven/Gradle\n\n## Usage\n### 1. Download the latest swagger file in YAML format from [here](https://developer.mastercard.com/devzone/api/secure/servicespec/mastercardloyaltyconnectservice/swaggerui-yaml)\n\n### 2. Generate the client library\nGo to the link [here](https://developer.mastercard.com/platform/documentation/generating-and-configuring-a-mastercard-api-client/) \nto read up on how to generate the client library with the openapi-generator.\n\nWe are using this command that generate the mastercard_loyalty_connect_client folder.  \n`openapi-generator generate -g java --library okhttp-gson -i Loyalty_Connect.yaml -c mastercard-loyalty-connect-config.json -o mastercard_loyalty_connect_client`\n\nWe have included the swagger file and mastercard-loyalty-connect-client folder that are embedded in the app\n\n### 3. Maven Build\nGo to the `mastercard-loyalty-connect-client` and run `mvn clean package`\n\n### 4. Copy the library to lib folder\nIn the `mastercard-loyalty-connect-client`, go to `/target` and copy `mastercard-loyalty-connect-client-\u003cversion number\u003e.jar` to the `lib folder` of this reference application.\n\n### 5. Create a new project on Mastercard developer zone under your account\n1. Go to \u003chttps://developer.mastercard.com/\u003e\n2. Create a new project\n3. Add \"MasterCard Loyalty Connect\" to your project\n4. Download and save your keystore and client id\n\n### 6. Replace the p12 file and your credentials \n1. Go to src/main/resources and add your keystore p12 file that obtained from **step 5**\n2. (**IMPORTANT**) Rename your keystore p12 certificate in `src/main/resources` to `mastercard-loyalty-connect-sandbox.p12`. \n3. Replace your values for `CONSUMER_KEY`, `KEY_ALIAS`, `KEYSTORE_PASSWORD`,`X_MERCHANT_KEY`,`PARTNER_CODE` in config/MlcConfig.java\n\n### 7. Run the MastercardLoyaltyConnectReference.java with this Maven Command\n1. Update the pom.xml to ensure the target main class is correct: `\u003cargument\u003ecom.mastercard.lts.rewards.MastercardLoyaltyConnectReference\u003c/argument\u003e`\n2. Go to `project root directory` and run `mvn clean compile exec:exec -Dexec.executable=java -Dexec.classpathScope=compile`\n\n## Use Case\nThis reference app describes one end to end flow for using MasterCard Loyalty Connect API's it skips some endpoints :\n1. Enroll Member and obtain memberReferenceId and memberMerchantReferenceId\n2. Get Member using memberReferenceId\n3. Search member using userId\n4. Enroll Payment Card using memberReferenceId and obtain paymentCardReferenceId\n5. Get Payment Card using memberReferenceId and paymentCardReferenceId\n6. Enroll Loyalty_Connect using memberReferenceId and obtain loyaltyConnectReferenceId \n7. Get Loyalty Connect using memberReferenceId and loyaltyConnectReferenceId\n8. Enroll another Merchant Loyalty Program using memberReferenceId and obtain memberMerchantReferenceId\n9. Get Merchant LoyaltyProgram using memberReferenceId and memberMerchantReferenceId\n10. Get all Merchant Loyalty Program associated using memberReferenceId\n11. Update Merchant loyalty Program using memberReferenceId and memberMerchantReferenceId\n12. Get Member to fetch all details like it's associated Payment Card's, Merchant Loyalty Programs and Loyalty Connect\n13. Update Member details using memberReferenceId\n14. Get Member to verify updated member details using memberReferenceId  \n15. Delete Loyalty Connect using memberReferenceId and loyaltyConnectReferenceId\n16. Delete Payment Card using memberReferenceId and paymentCardReferenceId\n17. Get Member to verify Loyalty Connect and Payment Card got deleted or not\n18. Finally, delete Member to delete member using memberReferenceId\n19. Enroll business partner stores\n\n## API Expected sample Response but values varies for reference id's\n### Enroll Member\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n    memberReferenceId: DUDeHlh48NOH1067649\n}\n```\n### Get Member\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    addressLine1: AddressLine 3\n    addressLine2: Rosemary garden\n    addressLine3: AddressLine 3\n    cityName: Nottingham\n    countryCode: UK\n    emailAddress: james.anderson@mastercard.com\n    firstName: James\n    lastName: Anderson\n    loyaltyConnectResponses: []\n    memberReferenceId: DUDeHlh48NOH1067649\n    merchantLoyaltyDetails: [ {\n        loyaltyId: james.anderson@mastercard.com\n        memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    }]\n    mobilePhoneNumber: +44 (0) 7970 225 256\n    paymentCards: []\n    postalCode: UK 2345\n    stateProvinceCode: NT\n    title: Mr\n}\n```\n### Search Member\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    addressLine1: AddressLine 3\n    addressLine2: Rosemary garden\n    addressLine3: AddressLine 3\n    cityName: Nottingham\n    countryCode: UK\n    emailAddress: james.anderson@mastercard.com\n    firstName: James\n    lastName: Anderson\n    loyaltyConnectResponses: []\n    memberReferenceId: DUDeHlh48NOH1067649\n    merchantLoyaltyDetails: [ {\n        loyaltyId: james.anderson@mastercard.com\n        memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    }]\n    mobilePhoneNumber: +44 (0) 7970 225 256\n    paymentCards: []\n    postalCode: UK 2345\n    stateProvinceCode: NT\n    title: Mr\n}\n```\n### Enroll Payment Card using memberReferenceId\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    paymentCardReferenceId: 1faed7bf-4b26-4230-b59c-54fd5eeb7985\n}\n```\n### Get Payment Card using memberReferenceId and paymentCardReferenceId\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    bankCardNumber: XXXXXXXXXXXX0010\n    bankCardProduct: BLACK\n    paymentCardReferenceId: 1faed7bf-4b26-4230-b59c-54fd5eeb7985\n}\n```\n### Enroll Loyalty_Connect using memberReferenceId\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    loyaltyConnectReferenceId: 45efc565-8fcb-4f62-960e-769cdc46e453\n}\n```\n### Get Loyalty Connect using memberReferenceId and loyaltyConnectReferenceId\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    bankCardNumber: XXXXXXXXXXXX0010\n    loyaltyConnectReferenceId: 45efc565-8fcb-4f62-960e-769cdc46e453\n    loyaltyId: james.anderson@mastercard.com\n    memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n    merchantCode: 989898\n    paymentCardReferenceId: 1faed7bf-4b26-4230-b59c-54fd5eeb7985\n}\n```\n### Enroll another Merchant Loyalty Program using memberReferenceId\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    loyaltyId: james.anderson@gmail.com\n    memberMerchantReferenceId: 272bb799-74da-47a7-a713-d91e6f5d709c\n}\n```\n### Get Merchant LoyaltyProgram using memberReferenceId and memberMerchantReferenceId\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    loyaltyId: james.anderson@gmail.com\n    memberMerchantReferenceId: 272bb799-74da-47a7-a713-d91e6f5d709c\n    merchantCode: 989898\n    merchantName: Jmeter\n    pointBalance: null\n}\n```\n### Get all Merchant Loyalty Program associated using memberReferenceId\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    memberMerchantLoyaltyDetails: \n    [ {\n        loyaltyId: james.anderson@mastercard.com\n        memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    },  \n    {\n        loyaltyId: james.anderson@gmail.com\n        memberMerchantReferenceId: 272bb799-74da-47a7-a713-d91e6f5d709c\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    }]\n    memberReferenceId: DUDeHlh48NOH1067649\n}\n```\n### Update Merchant loyalty Program using memberReferenceId and memberMerchantReferenceId\nExpected response from MasterCard Loyalty Connect API: 201 \n```\nMerchant loyalty program is updated successfully\n```\n### Get Member to fetch all details like it's associated Payment Card's, Merchant Loyalty Programs and Loyalty Connect\nExpected response from MasterCard Loyalty Connect API: \n```\n{\n    addressLine1: AddressLine 3\n    addressLine2: null\n    addressLine3: null\n    cityName: Nottingham\n    countryCode: UK\n    emailAddress: james.anderson@mastercard.com\n    firstName: James\n    lastName: Anderson\n    loyaltyConnectResponses: [ {\n        bankCardNumber: XXXXXXXXXXXX0010\n        loyaltyConnectReferenceId: 45efc565-8fcb-4f62-960e-769cdc46e453\n        loyaltyId: james.anderson@yahoo.co.uk\n        memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n        merchantCode: 989898\n        paymentCardReferenceId: 1faed7bf-4b26-4230-b59c-54fd5eeb7985\n    }]\n    memberReferenceId: DUDeHlh48NOH1067649\n    merchantLoyaltyDetails: [ {\n        loyaltyId: james.anderson@yahoo.co.uk\n        memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    },  {\n        loyaltyId: james.anderson@gmail.com\n        memberMerchantReferenceId: 272bb799-74da-47a7-a713-d91e6f5d709c\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    }]\n    mobilePhoneNumber: +44 (0) 7970 225 256\n    paymentCards: [class PaymentCardDetails {\n        bankCardNumber: XXXXXXXXXXXX0010\n        bankCardProduct: BLACK\n        paymentCardReferenceId: 1faed7bf-4b26-4230-b59c-54fd5eeb7985\n    }]\n    postalCode: UK 2345\n    stateProvinceCode: NT\n    title: Mr\n}\n```\n### Update Member details using memberReferenceId\nExpected response from MasterCard Loyalty Connect API: 204\n```\nMember is updated successfully\n```\n### Get Member to verify updated member details using memberReferenceId \nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    addressLine1: 110 trump tower\n    addressLine2: Rosemary garden\n    addressLine3: AddressLine 3\n    cityName: Nottingham\n    countryCode: UK\n    emailAddress: james.anderson@yahoo.co.uk\n    firstName: James\n    lastName: Anderson\n    loyaltyConnectResponses: [ {\n        bankCardNumber: XXXXXXXXXXXX0010\n        loyaltyConnectReferenceId: 45efc565-8fcb-4f62-960e-769cdc46e453\n        loyaltyId: james.anderson@yahoo.co.uk\n        memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n        merchantCode: 989898\n        paymentCardReferenceId: 1faed7bf-4b26-4230-b59c-54fd5eeb7985\n    }]\n    memberReferenceId: DUDeHlh48NOH1067649\n    merchantLoyaltyDetails: [ {\n        loyaltyId: james.anderson@yahoo.co.uk\n        memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    },  {\n        loyaltyId: james.anderson@gmail.com\n        memberMerchantReferenceId: 272bb799-74da-47a7-a713-d91e6f5d709c\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    }]\n    mobilePhoneNumber: +44 (0) 7970 225 256\n    paymentCards: [class PaymentCardDetails {\n        bankCardNumber: XXXXXXXXXXXX0010\n        bankCardProduct: BLACK\n        paymentCardReferenceId: 1faed7bf-4b26-4230-b59c-54fd5eeb7985\n    }]\n    postalCode: SN 4560\n    stateProvinceCode: NT\n    title: Mr\n}\n```\n### Delete Loyalty Connect using memberReferenceId and loyaltyConnectReferenceId\nExpected response from MasterCard Loyalty Connect API: 202\n```\nLoyalty Connect successfully deleted\n```\n### Delete Payment Card using memberReferenceId and paymentCardReferenceId\nExpected response from MasterCard Loyalty Connect API: 202\n```\nPayment card is successfully deleted\n```\n### Get Member to verify Loyalty Connect and Payment Card got deleted or not\nExpected response from MasterCard Loyalty Connect API:\n```\n{\n    addressLine1: 110 trump tower\n    addressLine2: Rosemary garden\n    addressLine3: AddressLine 3\n    cityName: Nottingham\n    countryCode: UK\n    emailAddress: james.anderson@yahoo.co.uk\n    firstName: James\n    lastName: Anderson\n    loyaltyConnectResponses: []\n    memberReferenceId: DUDeHlh48NOH1067649\n    merchantLoyaltyDetails: [{\n        loyaltyId: james.anderson@yahoo.co.uk\n        memberMerchantReferenceId: c49f2b32-efe0-4543-9e3c-669c09b12584\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    },  {\n        loyaltyId: james.anderson@gmail.com\n        memberMerchantReferenceId: 272bb799-74da-47a7-a713-d91e6f5d709c\n        merchantCode: 989898\n        merchantName: Jmeter\n        pointBalance: null\n    }]\n    mobilePhoneNumber: +44 (0) 7970 225 256\n    paymentCards: []\n    postalCode: SN 4560\n    stateProvinceCode: NT\n    title: Mr\n}\n```\n### Finally, delete Member to delete member using memberReferenceId\nExpected response from MasterCard Loyalty Connect API: 202\n```\nMember is successfully deleted\n```\n\n### Enroll Business partner location\nExpected response from Business Partner Stores API:\n```\n{\n  \"businessPartnerStoreId\": \"ahNlfnlyZWNlaXB0cy1wcm9kLXVrch0LEhBCdXNpbmVzc0xvY2F0aW9uGICAwNXo_uoKDA\",\n  \"storeReferenceId\": \"0b4f8b1e-04b0-455b-92a8-64588ca5e46a\"\n}\n```\n## Author\n- Name: **Mastercard**\n- Contact: **apisupport@mastercard.com**\n\n## Support\nPlease email to **apisupport@mastercard.com** for additional support if required. \n\n## License\nApache 2 License\n\n### Copyright © 1994-2019, All Right Reserved by Mastercard.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmastercard%2Fmastercard-loyalty-connect-reference-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmastercard%2Fmastercard-loyalty-connect-reference-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmastercard%2Fmastercard-loyalty-connect-reference-app/lists"}