Setup

Before processing a membership lifecycle action:


Afterward, this process is similar to purchasing a new membership


Shopping Cart

Create a shopping cart and get the new id. For more information on how to use the cart see Shopping Cart

POST https://sand10-buy.acmeticketing.net/v2/b2c/carts/


Add the membership information to the cart. The itemType must correspond to the lifecycle action being performed. Valid itemTypes are:

  • MembershipRenewal
  • MembershipUpgrade
  • MembershipDowngrade
  • MembershipPostTermRenewal
  • MembershipRejoin
  • MembershipRenewalUpgrade
  • MembershipPostTermRenewalUpgrade
  • MembershipRejoinUpgrade
  • MembershipRenewalDowngrade
  • MembershipPostTermRenewalDowngrade
  • MembershipRejoinDowngrade


The level, offering, and price point ids should correspond to the destination membership. The membership id must be included for lifecycle actions and should correspond to the source membership.

PUT https://sand10-buy.acmeticketing.net/v2/b2c/carts/[shoppingCartId]

{
    "id": [shoppingCartId],
    "items":[
        {
            "quantity": 1,
            "itemType": "MembershipRenewal",
            "membershipInfo":{
                "membershipCategoryId":[levelId],
                "membershipOfferingId":[offeringId],
                "pricePointId":[pricePointId],
                "membershipId": [membershipId],
                "membershipCards":[{
                    "cardType": "primary",
                    "city": "San Jose",
                    "country": "United States",
                    "email": "support@acmeticketing.com",
                    "firstName": "Pascal",
                    "lastName": "de Belleville",
                    "phoneNumber": "1234567890",
                    "state": "CA",
                    "streetAddress1": "1 Almaden Blvd",
                    "streetAddress2": "Suite 310",
                    "zipCode": "00000"
                }],
                "isGift":false
            }
        }
    ]
}


Checkout

Provide payment information and purchase the items in the cart. Lifecycle actions that result in a negative payment (ie downgrading from a $50 to $40 membership) are not supported. You can check whether a lifecycle will result in a negative payment using Membership Checkout Validation.

POST https://sand10-buy.acmeticketing.net/v2/b2c/checkout

{
    "billingAddress1": "160 Forest Ave",
    "billingCity": "Palo Alto",
    "billingCountry": "United States",
    "billingEmail": "support@acmeticketing.com",
    "billingFirstName": "Pascal",
    "billingLastName": "de Belleville",
    "billingPhoneNumber": "1234567890",
    "billingState": "CA",
    "billingZipCode": "99999",
    "cvc": "123",
    "expDate": "0321",
    "manualEntryCardNumber": "4242424242424242",
    "shoppingCartId": "[shoppingCartId]"
}

Managing Cardholders/Customers


To persist existing cardholder customer information across lifecycle actions, include the existing customer data in the shopping cart along with the constituent import id (customer import id). You can find the constituent import id on any membership card that has sufficient customer data (first name and last name, and email or phone number or zip code).

PUT https://sand10-buy.acmeticketing.net/v2/b2c/carts/[shoppingCartId]

{
    "id": [shoppingCartId],
    "items":[
        {
            "quantity": 1,
            "itemType": "MembershipRenewal",
            "membershipInfo":{
                "membershipCategoryId":[levelId],
                "membershipOfferingId":[offeringId],
                "pricePointId":[pricePointId],
                "membershipId": [membershipId],
                "membershipCards":[{
                    "constituentImportId":[constituentImportId],
                    "cardType": "primary",
                    "city": "San Jose",
                    "country": "United States",
                    "email": "support@acmeticketing.com",
                    "firstName": "Pascal",
                    "lastName": "de Belleville",
                    "phoneNumber": "1234567890",
                    "state": "CA",
                    "streetAddress1": "1 Almaden Blvd",
                    "streetAddress2": "Suite 310",
                    "zipCode": "00000"
                }],
                "isGift":false
            }
        }
    ]
}


To update existing cardholder customer information across lifecycle actions, update the customer data in the shopping cart, but use the existing constituent import id. 

PUT https://sand10-buy.acmeticketing.net/v2/b2c/carts/[shoppingCartId]

{
    "id": [shoppingCartId],
    "items":[
        {
            "quantity": 1,
            "itemType": "MembershipRenewal",
            "membershipInfo":{
                "membershipCategoryId":[levelId],
                "membershipOfferingId":[offeringId],
                "pricePointId":[pricePointId],
                "membershipId": [membershipId],
                "membershipCards":[{
                    "constituentImportId":[constituentImportId],
                    "cardType": "primary",
                    "city": "San Francisco",
                    "country": "United States",
                    "email": "support-new@acmeticketing.com",
                    "firstName": "Pascal",
                    "lastName": "de Belleville",
                    "phoneNumber": "0987654321",
                    "state": "CA",
                    "streetAddress1": "10 Mission St",
                    "streetAddress2": "Suite 1600",
                    "zipCode": "99999"
                }],
                "isGift":false
            }
        }
    ]
}


To add or replace cardholder customer information, add or update the customer data in the shopping cart, but do not include the constituent import id.

PUT https://sand10-buy.acmeticketing.net/v2/b2c/carts/[shoppingCartId]

{
    "id": [shoppingCartId],
    "items":[
        {
            "quantity": 1,
            "itemType": "MembershipRenewal",
            "membershipInfo":{
                "membershipCategoryId":[levelId],
                "membershipOfferingId":[offeringId],
                "pricePointId":[pricePointId],
                "membershipId": [membershipId],
                "membershipCards":[{
                    "cardType": "primary",
                    "city": "San Francisco",
                    "country": "United States",
                    "email": "support-new@acmeticketing.com",
                    "firstName": "Pascal",
                    "lastName": "de Belleville",
                    "phoneNumber": "0987654321",
                    "state": "CA",
                    "streetAddress1": "10 Mission St",
                    "streetAddress2": "Suite 1600",
                    "zipCode": "99999"
                },{
                    "cardType": "secondary",
                    "city": "San Mateo",
                    "country": "United States",
                    "email": "support-three@acmeticketing.com",
                    "firstName": "Arya",
                    "lastName": "Starck",
                    "phoneNumber": "1111111111",
                    "state": "CA",
                    "streetAddress1": "10 Some Other St",
                    "streetAddress2": "Suite 777",
                    "zipCode": "95432"
                }],
                "isGift":false
            }
        }
    ]
}


If a membership has primary and secondary cardholders, you can swap a primary with a secondary cardholder by changing the card type flag. Note that a membership can only have one primary cardholder and the primary cardholder must have a first name and last name, and phone number or email or zip code.