2017-04-16 3 views

답변

1

저장된 사용하여 결제 할 수있는 방법

string stripeKey = ""; 

var guid = Guid.Parse(userGuid); 
var systemUser = _systemUserRepository.Get(a => a.UserGuid == guid).FirstOrDefault(); 
var accountProfile = _accountProfileRepository.Get(a => a.SystemUser == systemUser.ID).FirstOrDefault(); 
var customer = _clientRepository.Get(a => a.AccountProfile == accountProfile.ID).FirstOrDefault(); 

var myCustomer = new StripeCustomerCreateOptions(); 
myCustomer.Email = customer.AccountProfile1.SystemUser1.Email; 
myCustomer.Description = customer.AccountProfile1.FirstName + " " + customer.AccountProfile1.LastName; 

var customerService = new StripeCustomerService(stripeKey); 
StripeCustomer stripeCustomer = customerService.Create(myCustomer); 

var myCard = new StripeCardCreateOptions(); 

// setting up the card 
myCard.SourceCard = new SourceCard 
{ 
    Number = cardNumber, 
    ExpirationYear = expireYear, 
    ExpirationMonth = expireMonth, 
}; 

var cardService = new StripeCardService(stripeKey); 
StripeCard stripeCard = cardService.Create(stripeCustomer.Id, myCard); 

, 당신은이 (가) 충전 API 만들기 사용하고 customer의 고객 ID cus_XXXX을 통과 충전 할 수 있습니다 매개 변수 및 매개 변수의 카드 ID는 card_YYYy입니다. Stripe.net으로, 코드는 here를 문서화하고 다음과 같이 보일 것이다 :

var myCharge = new StripeChargeCreateOptions(); 
myCharge.Amount = 5153; 
myCharge.Currency = "usd"; 
myCharge.SourceTokenOrExistingSourceId = stripeCard.Id; 
myCharge.CustomerId = stripeCustomer.Id; 

var chargeService = new StripeChargeService(); 
StripeCharge stripeCharge = chargeService.Create(myCharge); 

그것은 현재의 코드를 직접 API를 통해 카드 정보를 전송하고 있음을 유의하는 것이 중요합니다. 즉, 서버에서 카드 번호를 가져 오는 것입니다. 이것은 좋은 생각이 아니며 PCI compliance을 나눕니다. 정말로 통합을 수정하고 항상 클라이언트 측의 카드 세부 사항을 토큰 화해야합니다.

Elements 또는 Stripe Checkout 클라이언트 측을 사용하여 카드 세부 정보를 Stripe에 직접 보내고 고객을 만들기 위해 안전하게 서버에 보낼 고유 한 카드 토큰 (tok_XXX)을 받아야합니다.

관련 문제