close

在Linpay整合的時候有遇到中文亂碼的問題

 

以下參考

 

HTTP := TIdHTTP.Create(nil);
        HTTP.HandleRedirects := True;
        LoadOpenSSLLibrary;
        HTTP.Request.CustomHeaders.AddValue('X-LINE-ChannelId', PlatformID);
        HTTP.Request.CustomHeaders.AddValue('X-LINE-ChannelSecret', MerchantID);
        HTTP.Request.ContentType := 'application/json';
        HTTP.Request.CharSet := 'UTF-8';
        try
          try
            JsonData := SO;
            JsonData.s['productName '] := xMemo;   { TODO : 中文字是這行 }
            JsonData.i['amount'] := StrtoInt(xPay) ;
            JsonData.s['currency'] := 'TWD'; 
            JsonData.s['orderId'] := xorderId;
            JsonData.s['oneTimeKey'] := xbuyerID;
            JsonData.s['capture '] := 'true';

            Source := TStringStream.Create(JsonData.AsString, 65001);

            { TODO : 上面這行必須得用stream 並使用65001就好.....POST的時候參數送Stream,不要送TStrings }

           try
              HTTP.IOHandler := FHandlerSSL;
              try
                mCMVstr := HTTP.Post( 'https://'+FLineConnectStr+'/v2/payments/oneTimeKeys/pay', Source); 
              except
                { TODO : 發生錯誤不管3721 就是下重查 失敗就跳離。別那麼多毛病。 }
                if not Result then


                begin
                  exit;
                end;
              end;

 

       以下略.........................................

 

arrow
arrow
    文章標籤
    Delphi
    全站熱搜

    kuraki5336 發表在 痞客邦 留言(0) 人氣()