Thanks for your inquiry. ~ We appreciate your patience :-)
Yea, this gets a bit hairy when you’re trying to synchronize manual imports with s2Member. What you’ve done so far is great. That’s necessary, and it sounds like you’ve already got a pretty good handle on this. Just one missing component here that needs to be given to s2Member please.
You will need to set a WordPress option value for each customer that did NOT actually checkout using the s2Member software (i.e. those you imported and want to synchronize with ARB).
$user_id = 123; // A User's ID in WordPress, for this example.
$ipn_signup_vars = array (
'subscr_id' => '00823420234', // ARB Subscription ID (same as Paid Subscr. ID in Dashboard).
'custom' => 'example.com', // Your WordPress installation domain. If your site uses the www. prefix, make SURE you use that here. Whatever you run WordPress with please.
'period1' => '0 D', // Set this to the number of days (if any) you gave as a free trial period. Example: 0 D = zero days, 1 W = one week, 1 M = 1 month, 1 Y = 1 year.
'period3' => '0 D', // Set this to the recurring interval associated with the ARB subscription (i.e. it bills every X days/weeks/etc). Example: 0 D = zero days, 1 W = one week, 1 M = 1 month, 1 Y = 1 year.
'payer_email' => 'user@example.com', // Billing email address (i.e. customer's email address is fine).
'first_name' => 'John', // Customer's first name.
'last_name' => 'Doe', // Customer's last name.
'item_number' => '2', // A value of 2 indicates Membership Level #2.
'item_name' => 'Membership', // A product description (i.e. what was purchased).
);
update_user_option($user_id, 's2member_ipn_signup_vars', $ipn_signup_vars);
// Repeat this for each of the Users you've imported into WordPress, that you want to synchronize with Authorize.Net ARB subscriptions.
// This function may come in handy for iterating many users at once. See: http://codex.wordpress.org/Function_Reference/get_users
You’ll want to show this to a developer. If there are questions, please let us know :-)
Also, be sure that you’ve enabled s2Member’s Auto EOT System here:
Dashboard -› s2Member® -› Authorize.Net® Options -› Automatic EOT Behavior