<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Integration of SIM with CIM and ARB in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Integration-of-SIM-with-CIM-and-ARB/m-p/29630#M15557</link>
    <description>&lt;P&gt;Hi anupritaw,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You cannot create a CIM profile or ARB subscription from an existing transaction programmatically. The only way you can create a subscription from a successfully settled transaction is to do it manually by logging into the merchant interface but to create a CIM profile you need to use the CIM API or you can log in to the Authorize.Net to create the profile manually.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some developers will also use AIM and ARB, AIM to process the first payment since ARB is not real time and verify the creditcard is valid and the information is correct like address (if you want to validate the billing information) and then ARB to handle all recurring payments.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Joy&lt;/P&gt;</description>
    <pubDate>Tue, 11 Sep 2012 21:37:24 GMT</pubDate>
    <dc:creator>Joy</dc:creator>
    <dc:date>2012-09-11T21:37:24Z</dc:date>
    <item>
      <title>Integration of SIM with CIM and ARB</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Integration-of-SIM-with-CIM-and-ARB/m-p/29482#M15483</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I have developed my payment gateway using Auth.Net's SIM Method where im storing Information of transaction in my own table such as TransactionID,Invoice No etc.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Now i want to add CIM and ARB functionalities also ... Following code i have written for achive ARB where ill pass InvoiceNumber which ill be getting after transaction from my table.What other information is required to Create ARB Subscription for given Transaction ...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Also how should i write code for CIM to achive the task.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;public void ARBCreateSubscription()&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region Create ARBCreateSubscription&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SubscriptionGateway subscriptionGateway = new SubscriptionGateway(apiLogin, transactionKey, ServiceMode.Test);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myretaUI.NetAuthorizeApitest.Service ser = new myretaUI.NetAuthorizeApitest.Service();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myretaUI.NetAuthorizeApitest.MerchantAuthenticationType mer = new myretaUI.NetAuthorizeApitest.MerchantAuthenticationType();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mer.name = apiLogin;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mer.transactionKey = transactionKey;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myretaUI.NetAuthorizeApitest.ARBSubscriptionType arb = new myretaUI.NetAuthorizeApitest.ARBSubscriptionType();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.amount = Decimal.Parse(this.subscriptionAmount.Text);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.trialAmount = Decimal.Parse(this.trialAmount.Text);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.trialAmountSpecified = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.amountSpecified = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.billTo = new myretaUI.NetAuthorizeApitest.NameAndAddressType();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.billTo.address = "India";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.billTo.firstName = "A";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.billTo.lastName = "W";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.customer = new myretaUI.NetAuthorizeApitest.CustomerType();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myretaUI.NetAuthorizeApitest.PaymentScheduleType paymentScheduleType = new myretaUI.NetAuthorizeApitest.PaymentScheduleType();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paymentScheduleType.startDate = DateTime.Parse(this.startDate.Text);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paymentScheduleType.startDateSpecified = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paymentScheduleType.totalOccurrences = short.Parse(this.totalOccurrences.Text); ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paymentScheduleType.totalOccurrencesSpecified = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paymentScheduleType.trialOccurrences = short.Parse(this.trialOccurrences.Text); ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paymentScheduleType.trialOccurrencesSpecified = true;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paymentScheduleType.interval = new myretaUI.NetAuthorizeApitest.PaymentScheduleTypeInterval();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paymentScheduleType.interval.length = short.Parse(this.intervalLength.Text); ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.paymentSchedule = paymentScheduleType;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.payment = new myretaUI.NetAuthorizeApitest.PaymentType();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.order.invoiceNumber = "";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arb.order.description = "";&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myretaUI.NetAuthorizeApitest.ARBCreateSubscriptionResponseType resp = ser.ARBCreateSubscription(mer, arb);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (resp.resultCode == myretaUI.NetAuthorizeApitest.MessageTypeEnum.Ok)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //arbCreateSubscriptionRequest.subscription = sub;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //var arbCreateSubscriptionResponse = (ARBCreateSubscriptionResponse)gateway.Send(req);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any Help on this will be highly appreciated&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;&lt;P&gt;Anuprita.&lt;/P&gt;</description>
      <pubDate>Thu, 06 Sep 2012 07:33:02 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Integration-of-SIM-with-CIM-and-ARB/m-p/29482#M15483</guid>
      <dc:creator>anupritaw</dc:creator>
      <dc:date>2012-09-06T07:33:02Z</dc:date>
    </item>
    <item>
      <title>Re: Integration of SIM with CIM and ARB</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Integration-of-SIM-with-CIM-and-ARB/m-p/29630#M15557</link>
      <description>&lt;P&gt;Hi anupritaw,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You cannot create a CIM profile or ARB subscription from an existing transaction programmatically. The only way you can create a subscription from a successfully settled transaction is to do it manually by logging into the merchant interface but to create a CIM profile you need to use the CIM API or you can log in to the Authorize.Net to create the profile manually.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Some developers will also use AIM and ARB, AIM to process the first payment since ARB is not real time and verify the creditcard is valid and the information is correct like address (if you want to validate the billing information) and then ARB to handle all recurring payments.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Joy&lt;/P&gt;</description>
      <pubDate>Tue, 11 Sep 2012 21:37:24 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Integration-of-SIM-with-CIM-and-ARB/m-p/29630#M15557</guid>
      <dc:creator>Joy</dc:creator>
      <dc:date>2012-09-11T21:37:24Z</dc:date>
    </item>
  </channel>
</rss>

