private async void btnExecute_Click(object sender, RoutedEventArgs e) { if (txtMemberID.Text.Length < 4) { MessageBox.Show("판매자 아이디를 입력해주세요"); return; } if (txtCustomMobile.Text.Length < 10) { MessageBox.Show("고객 핸드폰 번호를 입력해주세요"); return; } var request = new CpRequestPayment() { memberID = txtMemberID.Text, price = long.Parse(txtPrice.Text), goodName = txtGoodName.Text, mobile = txtCustomMobile.Text, customName = txtCustomName.Text, customNo = txtCustomNo.Text, email = txtEmail.Text, feedbackurl = txtFeedbackurl.Text, returnurl = txtReturnurl.Text, var1 = txtVar1.Text, var2 = txtVar2.Text, smsuse = txtSmsuse.Text, sellerMemo = txtSellerMemo.Text, }; try { var result = await api.RequestPayment(request); if (result != null && result.success) { txtResult.Text = "[성공] 결제창 : " + result.payUrl + ", 요청번호 : " + result.payUniqueNo; } else { txtResult.Text = "[실패] 요청에 실패했습니다."; } } catch (CiderpayException ex) { txtResult.Text = "[실패] - " + ex.Error.message; Debug.WriteLine(ex.Error); } }
// 테스트 사이트 // private const string API_ROOT = "https://tapi.ciderpay.com"; public async Task <CpResponsePayment> RequestPayment(CpRequestPayment requestData) { var client = new RestClient(API_ROOT); var request = new RestRequest("/oapi/payment/request", Method.POST); request.AddJsonBody(requestData); var response = await client.ExecuteAsync <CpResponsePayment>(request); // 성공 if (response.StatusCode == HttpStatusCode.OK) { return(response.Data); } var err = JsonConvert.DeserializeObject <CpResponseError>(response.Content); throw new CiderpayException(err); }