이 답변은 C#을 사용하여 authorize.net .Net SDK에만 해당됩니다.
CIM 프로필 ID (고객 프로필에 고유 식별자) 및 CIM paymentprofileID (고객 프로필에 추가 된 각 지불 카드의 고유 식별자)를 로컬에 저장해야합니다. 따라서 고객/사용자 레코드에는이 두 정수를 저장하는 방법이 있어야합니다.
.Net SDK에서 CIM을 사용하는 방법에 대한 authorize.net의 설명서는 최상의 상태입니다. 나는 그 (것)들에게서 지원을 얻는 것을 시도하고 SDK가 CIM을 지원하지 않는다는 것을 끊임없이 말했다. 그것은 CIM을 사용하지 않기 때문에 사실이 아니다. 이 강력한 도구를 사용하기위한 올바른 방향을 제시하는 몇 줄의 코드를 제공 할 것입니다.
"AuthorizeNet"을 사용하는 클래스 파일에 코드를 작성하고 authorize.net의 최신 DLL을 가지고 있다고 가정합니다.
먼저 AuthorizeNet 클래스에는 "주소"유형이 있습니다. 이것은 CIM 프로파일 또는 CIM 지불 프로파일에 대한 주소 정보를 저장합니다.
private static Address getAddressObject(string fname, string lname, string address, string city, string state, string zip, string phone)
{
var a = new Address();
a.First = fname;
a.Last = lname;
a.Street = address;
a.City = city;
a.State = state;
a.Zip = zip;
a.Phone = phone;
return a;
}
은 하나 또는 여러 개의 주소 객체 (특정 배송, 결제, 신용 카드 등)를 구축하는 방법을 사용하고 당신이 상호 작용하는 경우에 대한 그들을 준비 : 여기가 주소 객체를 구축하도록 제작하는 간단한 방법입니다 게이트웨이.
봐 CIM 프로파일 여부를 확인하려면 : 이제
,
CustomerGateway cg = new CustomerGateway(loginInfo[0], loginInfo[1], ServiceMode.Live);
지금이 시점에서 빈 Customer 객체
Customer cust;
을 만들 CustomerGateway 객체를 생성, 당신은 두 가지 선택이 로컬에 저장된 CIMprofileid를 사용하여 존재합니다.
cust = cg.GetCustomer(rdr["CIMprofileID"].ToString());
- 또는
새로운 CIMprofile 만들기
cust = cg.CreateCustomer(email, description);
당신이 CUST 설정 한 후에는 cg.AddCreditCard()
을 사용하여 새 CIM 지불 프로필을 만들려면 지금
cust.ProfileID
에서 CIM profileID가를 얻을 수 있습니다 . 이것에 3 가지 오버로드가 있으며, # 2는 CVV 번호를 추가하고, # 3은 AVS에 대한 Address 개체를 삭제할 수 있습니다. string paymentprofileid = cg.AddCreditCard()
을 수행하면 paymentprofileid가 해당 신용 카드에 저장해야하는 번호가되어 나중에 다시 청구 할 수 있습니다. CIM이 반환하는 카드 번호는 'XXXX1234'형식으로되어 있으므로 나중에 일치시키기가 어려울 수 있습니다.
일단 이러한 값이 있으면 문서화 된 방법을 사용하여 CIM 프로필 카드를 충전 할 수 있습니다. 행운을 빌어 요!
멋진 설명을 주셔서 감사합니다 !! !! 나는 당신이 전달하려고하는 요점을 가지고 있습니다. – user3593455