C# wpf restapi 400에러

using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Windows;

namespace restTest
{
    /// <summary>
    /// MainWindow.xaml에 대한 상호 작용 논리
    /// </summary>
    public partial class MainWindow : Window
    {
        
        public MainWindow()
        {
            InitializeComponent();

            string url = "https://kapi.kakao.com/v1/payment/ready";

            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "POST";
            req.Host = "kapi.kakao.com";
            req.Headers.Add("Authorization", "KakaoAK 08417b7e1f17f4f2526284ad3f29d329");
            req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";

            List<KeyValuePair<string, object>> data = new List<KeyValuePair<string, object>>()
            {
                new KeyValuePair<string, object>("cid", "TC0ONETIME"),
                new KeyValuePair<string, object>("partner_order_id	", "partner_order_id"),
                new KeyValuePair<string, object>("partner_user_id", "partner_user_id"),
                new KeyValuePair<string, object>("item_name", "JinjuBeer"),
                new KeyValuePair<string, object>("quantity", 1),
                new KeyValuePair<string, object>("total_amountid", 22500),
                new KeyValuePair<string, object>("tax_free_amount", 20455),
                new KeyValuePair<string, object>("approval_url", "https://developers.kakao.com/success"),
                new KeyValuePair<string, object>("fail_url", "https://developers.kakao.com/fail"),
                new KeyValuePair<string, object>("cancel_url", "https://developers.kakao.com/cancel"),
        };

            StringBuilder builder = new StringBuilder();

            foreach (KeyValuePair<string, object> kvp in data)
                builder.Append(kvp.Key + "=" + kvp.Value + "&");

            // 여기서 builder 디버깅 보자.
            // data들을 UTF8형식으로 바이트 변환함.            
            byte[] bytes = Encoding.UTF8.GetBytes(builder.ToString());
            req.ContentLength = bytes.Length;

            // HttpWebRequest req에 변환된 데이터들을 넣자.
            using (Stream reqStream = req.GetRequestStream())
                reqStream.Write(bytes, 0, bytes.Length);

            // 받은 내용 저장 변수
            string responseText = string.Empty;

            // HttpWebRequest req로부터 response한 결과 클래스
            using (WebResponse resp = req.GetResponse())
            {
                Stream respStream = resp.GetResponseStream();

                
            }

        }        
    }
}

캡처

키와 값을 적절하게 필요로 하는것을 넣은것 같은데 계속 400에러가 뜨네요…
application/x-www-form-urlencoded;charset=utf-8 타입이니 UTF8 형식으로 인코딩하여 보냈는데도 원인을 못찾겠어요.

혹시나하여 스트링 마지막에 붙는 &를 떼어보아도 동일한 결과네요.

안녕하세요. 카카오페이입니다.
http 응답코드중 200이 아닌경우는 아래와 같이 code/msg 로 응답이 제공되고있습니다.
{
msg:partner_order_id can’t be null,
code:-2
}

파라미터중 partner_order_id 뒤에 공백이 붙으면서 필드인식이 안되었습니다.
수정부탁드립니다.
감사합니다.