Title: Ralph Engwall
1Ralph Engwall Alliance Partner Manager
2CyberSource Component for ASP/COM
- Access all CyberSource Services
- Supports IIS 4.0 or higher
- Win 2000 support
- COM object can be used in VB or C application
3Getting Started
- Register - www.cybersource.com/register
- Download ASP CDK ICS2 Developers Guide -
www.cybersource.com/support - Self extracting archive - run setup
- Register component using the utility added to the
Win NT start menu - Run Ecert command - Ecert ltmerchant IDgt
- Edit Test Program
- Compile and Run Test
4Simple Web Order Form Requirements
- Collect Customer Payment Info
- Format CyberSource Request
- Transmit Request
- Process Response
- Message Customer
- Record Response
5Transaction Flow Diagram
Customer Browser
Merchant Server
Payment Processor
Cybersource
Billing Info
ics_auth
Auth Req
auth_rflag
Customer Message
Auth
6Application Diagram
Display Payment Info Form to Customer
Customer Approves Transaction
Card Declined. Ask Customer for another Credit
Card
rcode 0
Transaction Declined?
rcode 1, -1
rcode -1
Processing Error?
Log Transaction Info for Later Processing Message
Customer that they will Receive Final
Conformation via Email
rcode 1
Continue Processing Order
7Customer Order Form
8Create Connection Object Log
lt Dim oICS Set oICS
Server.CreateObject( "CyberSource.ICS.3" )
if IsObject(oICS) then oICS.Merchant
"ICS2Test" oICS.ServerHost
"ics2test.ic3.com" oICS.SetValue
"merchant_ref_number", "123abc" oICS.Log
True oICS.LogPath "C\TEMP\"' or just
"C\TEMP" oICS.LogSize 10' 10 MB
' store the object as a session property
Set Session("ICSObject") oICS end
if gt
9Create Order Offer Object - Line Item
oICS.AddToOffer 0, "product_name",
Request.Form("product_name")
oICS.AddToOffer 0, "merchant_product_sku",
Request.Form("merchant_product_sku")
oICS.AddToOffer 0, "product_code",
Request.Form("product_code")
oICS.AddToOffer 0, "amount", Request.Form("amount"
) oICS.AddToOffer 0, "quantity",
Request.Form("quantity")
10Create Request Object
oICS.SetValue "ics_applications",
Request.Form("ics_applications") oICS.SetValue
"auth_request_id", Request.Form("auth_request_id")
oICS.SetValue "bill_request_id",
Request.Form("bill_request_id") oICS.SetValue
"customer_firstname", Request.Form("customer_first
name") oICS.SetValue "customer_lastname",
Request.Form("customer_lastname") oICS.SetValue
"customer_email", Request.Form("customer_email")
oICS.SetValue "customer_phone",
Request.Form("customer_phone") oICS.SetValue
"bill_address1", Request.Form("bill_address1")
oICS.SetValue "bill_city", Request.Form("bill_city
") oICS.SetValue "bill_state",
Request.Form("bill_state") oICS.SetValue
"bill_zip", Request.Form("bill_zip")
oICS.SetValue "bill_country", Request.Form("bill_c
ountry") oICS.SetValue "customer_cc_number",
Request.Form("customer_cc_number") oICS.SetValue
"customer_cc_expmo", Request.Form("customer_cc_exp
m") oICS.SetValue "customer_cc_expyr",
Request.Form("customer_cc_expyr") oICS.SetValue
"currency", "USD" oICS.SetValue "http_proxy",
"http//proxy.cybersource.com3128"
oICS.SetValue "http_proxy_username", "hubertc"
oICS.SetValue "http_proxy_password", "bluebert"
11Send Request and Receive Response
oICS.Send Dim rcode
rcode oICS.GetResponseValue( "ics_rcode" )
if (rcode "") then
response.write "Host did not return expected
field." response.end end
if
12Process Record Response
response.write oICS.GetResponseVal
ue( "ics_rmsg" ) response.write
"ltH4gtData Sentlt/H4gt" Dim arr,
elem arr oICS.RequestArray
for each elem in arr
response.write elem "ltBRgt"
next response.write "ltH4gtData
Receivedlt/H4gt" arr
oICS.ResponseArray for each elem
in arr response.write
elem "ltBRgt" next
response.end
13Additional Application Considerations
- Add a Shopping Cart
- Calling Fraud, Tax, DAV if needed
- Semi Real-Time Authorization option
- Error Handling - Alerts, Logs
- Database Integration
14Cybersource COM API - more info
- ICS Dev Guide - Appendix M - ASP/COM
- Sample Code in Sample Pages directory
- Additional Samples Available
- Partner Extranet Message Board