목차
Thank you for you purchase!
php教程 php手册 paypal php 对接

paypal php 对接

Jun 14, 2016 am 12:02 AM
암호 오픈 소스 프로그램 작성 프로그래밍 언어 소프트웨어 개발

项目需要要在php中使用paypal支付。

先吐槽下paypal,以前做过国内的一些支付接口,有些经验。想到的是直接找paypal客服要接口文档。

尼玛加paypal客服QQ  不在线。几天如此。这么大的支付居然没技术支持,真不能理解。文档后面还是在官网7找8找才找到了。

 

正文:

首先要在sandbox环境申请主帐号。连接:https://developer.paypal.com/

申请后用主帐号登录申请卖家以及买家帐号。然后进行一些设置。

注意:如果买家是国外的,那么创建买家帐号的时候就要设置所在国家。这样在支付页面才会以该国家的语言显示界面。

申请帐号以及设置问题请参考文档  连接:https://www.paypal-biz.com/development/documentation/PayPal_Sandbox_Guide_CN_V2.0.pdf

 

支付过程首先第一步是提交表单给paypal 当然post方式。

<span style="color: #0000ff;"><span style="color: #800000;">form </span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="form_starPay"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="form_starPay"</span><span style="color: #ff0000;"> action</span><span style="color: #0000ff;">="https://www.sandbox.paypal.com/cgi-bin/webscr"</span><span style="color: #ff0000;"> method</span><span style="color: #0000ff;">="post"</span><span style="color: #0000ff;">></span>
<span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="cmd"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="_xclick"</span><span style="color: #0000ff;">></span> //告诉paypal该表单是立即购买
<span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="business"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="XXXXXX@XXXXX.com"</span><span style="color: #0000ff;">></span> //卖家帐号  也就是收钱的帐号
<span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="item_name"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="name"</span><span style="color: #0000ff;">></span> //商品名称
<span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="amount"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="10000"</span><span style="color: #0000ff;">></span> //价格
<span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="currency_code"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="JPY"</span><span style="color: #0000ff;">></span> //币种
<span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="return"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="http://localhost/frontend/pay/PDT_order"</span><span style="color: #0000ff;">> //支付成功后网页跳转地址</span>
<span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="notify_url"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="http://localhost/frontend/pay/IPN_Order"</span><span style="color: #0000ff;">> </span>//支付成功后paypal后台发送订单通知地址<br><span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="invoice"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">> //自定义订单号   paypal原样返回<br></span><span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="custom"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">=""</span><span style="color: #0000ff;">></span><span style="line-height: 1.5;"> // 自定义变量  paypal原样返回<br></span><span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="hidden"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="lc"</span><span style="color: #ff0000;"> value</span><span style="color: #0000ff;">="JP"</span><span style="color: #0000ff;">></span><span style="line-height: 1.5;"> //支付页面语言设置<br></span><span style="color: #0000ff;"><span style="color: #800000;">input </span><span style="color: #ff0000;">style</span><span style="color: #0000ff;">="visibility:hidden"</span><span style="color: #ff0000;"> type</span><span style="color: #0000ff;">="image"</span><span style="color: #ff0000;"> src</span><span style="color: #0000ff;">=" https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif "</span><span style="color: #ff0000;"> border</span><span style="color: #0000ff;">="0"</span><span style="color: #ff0000;"> name</span><span style="color: #0000ff;">="submit"</span><span style="color: #ff0000;"> alt</span><span style="color: #0000ff;">=" PayPal - The safer, easier way to pay online"</span><span style="color: #0000ff;">>//支付按钮<br><br></span><span style="color: #0000ff;"></span><span style="color: #800000;">form</span><span style="color: #0000ff;">></span></span></span></span></span></span></span></span></span></span></span></span></span>
로그인 후 복사

当支付成功后 paypal就会跳转到我们设置的 “return” 地址,会带上一个流水号 我们get方式就可以取到值。流水号键名 “tx”。

拿到流水号然后加上身份标识跟cmd变量就可以到paypal请求刚才支付的订单的交易内容。

例如:cmd=_notify-synch&tx=123sflsfjlw12&tx_token=fsfljvw3lwejloj43jfvdflf2

cmd=_notify-synch是告诉paypal你要做什么,这里是查询订单交易。

tx_token值要在paypal后台取,刚才注册帐号的时候要开通pdt功能才行。

这个过程paypal称为:PDT (Payment Data Transfer 付款数据传输)。

我们接收到返回的一些数据后就可以进行一些支付后的操作,比如发金币,发货等等。

pdt 详细的返回参数最后给出文档。

代码:

<span style="color: #000000;">php 
</span><span style="color: #008000;">//</span><span style="color: #008000;">获取 PayPal 交易流水号 tx </span>
<span style="color: #800080;">$tx_token</span> = <span style="color: #800080;">$_GET</span>['tx'<span style="color: #000000;">]; 
</span><span style="color: #008000;">//</span><span style="color: #008000;">定义您的身份标记 </span>
<span style="color: #800080;">$auth_token</span> = "CHANGE-TO-YOUR-TOKEN"<span style="color: #000000;">; 
</span><span style="color: #008000;">//</span><span style="color: #008000;">形成验证字符串 </span>
<span style="color: #800080;">$req</span> = " cmd=_notify-synch&tx=<span style="color: #800080;">$tx_token</span>&at=<span style="color: #800080;">$auth_token</span>"<span style="color: #000000;">; 
</span><span style="color: #008000;">//</span><span style="color: #008000;">将交易流水号及身份标记返回 PayPal 验证 </span>
<span style="color: #800080;">$header</span> .= "POST /cgi-bin/webscr HTTP/1.0\r\n"<span style="color: #000000;">; 
</span><span style="color: #800080;">$header</span> .= "Content-Type: application/x-www-form-urlencoded\r\n"<span style="color: #000000;">; 
</span><span style="color: #800080;">$header</span> .= "Content-Length: " . <span style="color: #008080;">strlen</span>(<span style="color: #800080;">$req</span>) . "\r\n\r\n"<span style="color: #000000;">; 
</span><span style="color: #800080;">$fp</span> = <span style="color: #008080;">fsockopen</span> ('www.paypal.com', 80, <span style="color: #800080;">$errno</span>, <span style="color: #800080;">$errstr</span>, 30<span style="color: #000000;">); 
</span><span style="color: #0000ff;">if</span> (!<span style="color: #800080;">$fp</span><span style="color: #000000;">) { 
</span><span style="color: #008000;">//</span><span style="color: #008000;"> HTTP ERROR </span>
} <span style="color: #0000ff;">else</span><span style="color: #000000;"> { 
</span><span style="color: #008080;">fputs</span> (<span style="color: #800080;">$fp</span>, <span style="color: #800080;">$header</span> . <span style="color: #800080;">$req</span><span style="color: #000000;">); 
</span><span style="color: #008000;">//</span><span style="color: #008000;">获取返回数据 </span>
<span style="color: #800080;">$res</span> = ''<span style="color: #000000;">; 
</span><span style="color: #800080;">$headerdone</span> = <span style="color: #0000ff;">false</span><span style="color: #000000;">; 
</span><span style="color: #0000ff;">while</span> (!<span style="color: #008080;">feof</span>(<span style="color: #800080;">$fp</span><span style="color: #000000;">)) { 
</span><span style="color: #800080;">$line</span> = <span style="color: #008080;">fgets</span> (<span style="color: #800080;">$fp</span>, 1024<span style="color: #000000;">); 
</span><span style="color: #0000ff;">if</span> (<span style="color: #008080;">strcmp</span>(<span style="color: #800080;">$line</span>, "\r\n") == 0<span style="color: #000000;">) { 
</span><span style="color: #008000;">//</span><span style="color: #008000;">获取头 </span>
<span style="color: #800080;">$headerdone</span> = <span style="color: #0000ff;">true</span><span style="color: #000000;">; 
}</span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> (<span style="color: #800080;">$headerdone</span><span style="color: #000000;">){ 
</span><span style="color: #008000;">//</span><span style="color: #008000;">获取主体内容 </span>
<span style="color: #800080;">$res</span> .= <span style="color: #800080;">$line</span><span style="color: #000000;">; 
} 
} 
</span><span style="color: #008000;">//</span><span style="color: #008000;">解析获取内容 </span>
<span style="color: #800080;">$lines</span> = <span style="color: #008080;">explode</span>("\n", <span style="color: #800080;">$res</span><span style="color: #000000;">); 
</span><span style="color: #800080;">$keyarray</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(); 
</span><span style="color: #0000ff;">if</span> (<span style="color: #008080;">strcmp</span> (<span style="color: #800080;">$lines</span>[0], "SUCCESS") == 0<span style="color: #000000;">) { 
</span><span style="color: #0000ff;">for</span> (<span style="color: #800080;">$i</span>=1; <span style="color: #800080;">$i</span>count(<span style="color: #800080;">$lines</span>);<span style="color: #800080;">$i</span>++<span style="color: #000000;">){ 
</span><span style="color: #0000ff;">list</span>(<span style="color: #800080;">$key</span>,<span style="color: #800080;">$val</span>) = <span style="color: #008080;">explode</span>("=", <span style="color: #800080;">$lines</span>[<span style="color: #800080;">$i</span><span style="color: #000000;">]); 
</span><span style="color: #800080;">$keyarray</span>[<span style="color: #008080;">urldecode</span>(<span style="color: #800080;">$key</span>)] = <span style="color: #008080;">urldecode</span>(<span style="color: #800080;">$val</span><span style="color: #000000;">); 
} 
</span><span style="color: #008000;">//</span><span style="color: #008000;">检查交易付款状态 payment_status 是否为  „Completed‟ 
//检查交易流水号 txn_id 是否已经被处理过 
//检查接收 EMAIL receiver_email 是否为您的 PayPal 中已经注册的 EMAIL 
//检查金额 mc_gross 是否正确 
//…… 
//处理此次付款明细 
//该付款明细所有变量可参考: 
//https://www.paypal.com/IntegrationCenter/ic_ipn-pdt-variable-reference.html </span>
<span style="color: #800080;">$name</span> = <span style="color: #800080;">$keyarray</span>['first_name'] . ' ' . <span style="color: #800080;">$keyarray</span>['last_name'<span style="color: #000000;">]; 
</span><span style="color: #800080;">$itemname</span> = <span style="color: #800080;">$keyarray</span>['item_name'<span style="color: #000000;">]; 
</span><span style="color: #800080;">$amount</span> = <span style="color: #800080;">$keyarray</span>['mc_gross'<span style="color: #000000;">]; 
</span><span style="color: #0000ff;">echo</span> ("<p></p><h3 id="Thank-you-for-you-purchase">Thank you for you purchase!</h3>"<span style="color: #000000;">); 
</span><span style="color: #0000ff;">echo</span> ("<b>Payment Details:</b><br>\n"<span style="color: #000000;">); 
</span><span style="color: #0000ff;">echo</span> ("
로그인 후 복사
  • Name: $name
  • \n"); echo ("
  • Item: $itemname
  • \n"); echo ("
  • Amount: $amount
  • \n"); }else if (strcmp ($lines[0], "FAIL") == 0) { //获取付款明细失败,记录并检查 } } fclose ($fp); ?>

     

     

    为了防止用户关掉浏览器,订单通知不到的情况。paypal还提供了一种通知方式:IPN (Instant Payment Notification 即时付款通知);

    IPN 是在后台进行http请求通知。

    当开通了ipn功能,并且订单状态发生改变的时候,paypal会主动请求我们支付表单中变量“notify_url”提供的地址。

    我们在接收到paypal请求后要拿到所有的数据

    然后用 “cmd=_notify-validate”加上刚才的数据,http发送给paypal进行验证,以防请求是伪造的。

    代码:

    <span style="color: #000000;">php 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">从 PayPal 出读取 POST 信息同时添加变量„cmd‟ </span>
    <span style="color: #800080;">$req</span> = 'cmd=_notify-validate'<span style="color: #000000;">; 
    </span><span style="color: #0000ff;">foreach</span> (<span style="color: #800080;">$_POST</span> <span style="color: #0000ff;">as</span> <span style="color: #800080;">$key</span> => <span style="color: #800080;">$value</span><span style="color: #000000;">) { 
    </span><span style="color: #800080;">$value</span> = <span style="color: #008080;">urlencode</span>(<span style="color: #008080;">stripslashes</span>(<span style="color: #800080;">$value</span><span style="color: #000000;">)); 
    </span><span style="color: #800080;">$req</span> .= "&<span style="color: #800080;">$key</span>=<span style="color: #800080;">$value</span>"<span style="color: #000000;">; 
    } 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">建议在此将接受到的信息记录到日志文件中以确认是否收到 IPN 信息 
    //将信息 POST 回给 PayPal 进行验证 </span>
    <span style="color: #800080;">$header</span> .= "POST /cgi-bin/webscr HTTP/1.0\r\n"<span style="color: #000000;">; 
    </span><span style="color: #800080;">$header</span> .= "Content-Type:application/x-www-form-urlencoded\r\n"<span style="color: #000000;">; 
    </span><span style="color: #800080;">$header</span> .= "Content-Length:" . <span style="color: #008080;">strlen</span>(<span style="color: #800080;">$req</span>) ."\r\n\r\n"<span style="color: #000000;">; 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">在 Sandbox 情况下,设置: 
    //$fp = fsockopen(„www.sandbox.paypal.com‟,80,$errno,$errstr,30); </span>
    <span style="color: #800080;">$fp</span> = <span style="color: #008080;">fsockopen</span> ('www.paypal.com', 80, <span style="color: #800080;">$errno</span>, <span style="color: #800080;">$errstr</span>, 30<span style="color: #000000;">); 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">将 POST 变量记录在本地变量中 
    //该付款明细所有变量可参考: 
    //https://www.paypal.com/IntegrationCenter/ic_ipn-pdt-variable-reference.html </span>
    <span style="color: #800080;">$item_name</span> = <span style="color: #800080;">$_POST</span>['item_name'<span style="color: #000000;">]; 
    </span><span style="color: #800080;">$item_number</span> = <span style="color: #800080;">$_POST</span>['item_number'<span style="color: #000000;">]; 
    </span><span style="color: #800080;">$payment_status</span> = <span style="color: #800080;">$_POST</span>['payment_status'<span style="color: #000000;">]; 
    </span><span style="color: #800080;">$payment_amount</span> = <span style="color: #800080;">$_POST</span>['mc_gross'<span style="color: #000000;">]; 
    </span><span style="color: #800080;">$payment_currency</span> = <span style="color: #800080;">$_POST</span>['mc_currency'<span style="color: #000000;">]; 
    </span><span style="color: #800080;">$txn_id</span> = <span style="color: #800080;">$_POST</span>['txn_id'<span style="color: #000000;">]; 
    </span><span style="color: #800080;">$receiver_email</span> = <span style="color: #800080;">$_POST</span>['receiver_email'<span style="color: #000000;">]; 
    </span><span style="color: #800080;">$payer_email</span> = <span style="color: #800080;">$_POST</span>['payer_email'<span style="color: #000000;">]; 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">… 
    //判断回复 POST 是否创建成功 </span>
    <span style="color: #0000ff;">if</span> (!<span style="color: #800080;">$fp</span><span style="color: #000000;">) { 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">HTTP 错误 </span>
    }<span style="color: #0000ff;">else</span><span style="color: #000000;"> { 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">将回复 POST 信息写入 SOCKET 端口 </span>
    <span style="color: #008080;">fputs</span> (<span style="color: #800080;">$fp</span>, <span style="color: #800080;">$header</span> .<span style="color: #800080;">$req</span><span style="color: #000000;">); 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">开始接受 PayPal 对回复 POST 信息的认证信息 </span>
    <span style="color: #0000ff;">while</span> (!<span style="color: #008080;">feof</span>(<span style="color: #800080;">$fp</span><span style="color: #000000;">)) { 
    </span><span style="color: #800080;">$res</span> = <span style="color: #008080;">fgets</span> (<span style="color: #800080;">$fp</span>, 1024<span style="color: #000000;">); 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">已经通过认证 </span>
    <span style="color: #0000ff;">if</span> (<span style="color: #008080;">strcmp</span> (<span style="color: #800080;">$res</span>, "VERIFIED") == 0<span style="color: #000000;">) { 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">检查付款状态 
    //检查 txn_id 是否已经处理过 
    //检查 receiver_email 是否是您的 PayPal 账户中的 EMAIL 地址 
    //检查付款金额和货币单位是否正确 
    //处理这次付款,包括写数据库 </span>
    }<span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> (<span style="color: #008080;">strcmp</span> (<span style="color: #800080;">$res</span>, "INVALID") == 0<span style="color: #000000;">) { 
    </span><span style="color: #008000;">//</span><span style="color: #008000;">未通过认证,有可能是编码错误或非法的 POST 信息 </span>
    <span style="color: #000000;">} 
    } 
    </span><span style="color: #008080;">fclose</span> (<span style="color: #800080;">$fp</span><span style="color: #000000;">); 
    } 
    </span>?> 
    로그인 후 복사

     

    接口对接就这样好了,搞清楚了流程很简单。

    如果币种不是paypal默认的,在订单支付后订单状态一直是pending, 用卖家帐号登录在订单状态哪里点击接收,paypal就会自动设置接收该币种功能。

    技术文档地址:https://www.paypal-biz.com/developer/documentation/2134.html

     

     

     

     

     

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    Video Face Swap

    Video Face Swap

    완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

    중국어 버전, 사용하기 매우 쉽습니다.

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)

    Cangjie 프로그래밍 언어에 대한 Huawei의 공식 입문 튜토리얼이 출시되었습니다. 한 기사에서 범용 버전 SDK를 얻는 방법을 알아보세요. Cangjie 프로그래밍 언어에 대한 Huawei의 공식 입문 튜토리얼이 출시되었습니다. 한 기사에서 범용 버전 SDK를 얻는 방법을 알아보세요. Jun 25, 2024 am 08:05 AM

    24일 이 사이트의 소식에 따르면 지난 6월 21일 HDC2024 화웨이 개발자 컨퍼런스 기조연설에서 화웨이 터미널 BG 소프트웨어 부문 사장 공티(Gong Ti)가 화웨이가 자체 개발한 창힐(Cangjie) 프로그래밍 언어를 공식 발표했다. 이 언어는 5년 동안 개발되었으며 이제 개발자 미리보기로 제공됩니다. Huawei의 공식 개발자 웹사이트는 이제 개발자가 프로그래밍 언어를 시작하고 이해할 수 있도록 Cangjie 프로그래밍 언어에 대한 공식 소개 튜토리얼 비디오를 출시했습니다. 이 튜토리얼에서는 사용자가 Cangjie를 경험하고, Cangjie를 배우고, Cangjie를 적용하는 방법을 안내합니다. 여기에는 Cangjie 언어를 사용하여 파이를 추정하고, 2024년 각 달의 줄기 및 가지 규칙을 계산하고, Cangjie 언어로 이진 트리를 표현하는 N 방법을 확인하고, 열거형을 사용하는 방법이 포함됩니다. 대수 계산을 구현하기 위한 유형, 인터페이스 및 확장을 사용한 신호 시스템 시뮬레이션, Cangjie 매크로를 사용한 새로운 구문 등이 있습니다. 이 사이트에는 튜토리얼 액세스 주소가 있습니다: ht

    5년간의 연구 개발 끝에 화웨이의 차세대 프로그래밍 언어 'Cangjie'가 공식적으로 프리뷰를 출시했습니다. 5년간의 연구 개발 끝에 화웨이의 차세대 프로그래밍 언어 'Cangjie'가 공식적으로 프리뷰를 출시했습니다. Jun 22, 2024 am 09:54 AM

    이 사이트는 오늘 오후 HDC2024 화웨이 개발자 컨퍼런스에서 화웨이 터미널 BG 소프트웨어 부서 사장 Gong Ti가 화웨이가 자체 개발한 Cangjie 프로그래밍 언어를 공식 발표하고 HarmonyOSNEXT Cangjie 언어의 개발자 프리뷰 버전을 출시했다고 6월 21일 보도했습니다. 화웨이가 Cangjie 프로그래밍 언어를 공개적으로 출시한 것은 이번이 처음입니다. Gong Ti는 "2019년에 Cangjie 프로그래밍 언어 프로젝트가 Huawei에서 탄생했습니다. 5년간의 R&D 축적과 막대한 R&D 투자 끝에 마침내 오늘 글로벌 개발자를 만났습니다. Cangjie 프로그래밍 언어는 현대적인 언어 기능, 포괄적인 컴파일 최적화 및 런타임 구현을 통합합니다. 즉시 사용 가능한 IDE 도구 체인 지원은 개발자에게 친숙한 개발 경험과 뛰어난 프로그램 성능을 제공합니다. "보고서에 따르면 Cangjie 프로그래밍 언어는 모든 시나리오 인텔리전스 도구입니다.

    화웨이, HarmonyOS NEXT Cangjie 프로그래밍 언어 개발자 프리뷰 베타 모집 개시 화웨이, HarmonyOS NEXT Cangjie 프로그래밍 언어 개발자 프리뷰 베타 모집 개시 Jun 22, 2024 am 04:07 AM

    6월 21일 이 사이트의 소식에 따르면 화웨이가 자체 개발한 창힐(Cangjie) 프로그래밍 언어가 오늘 공식적으로 공개됐고, 공식적으로는 하모니OSNEXT 창힐(HarmonyOSNEXT Cangjie) 언어 개발자 프리뷰 베타 모집 개시를 발표했다. 이 업그레이드는 개발자가 Cangjie 언어를 사용하여 HarmonyOSNext 애플리케이션을 개발, 디버깅 및 실행할 수 있도록 Cangjie 언어 SDK, 개발자 가이드 및 관련 DevEcoStudio 플러그인을 제공하는 개발자 미리 보기 버전에 대한 얼리 어답터 업그레이드입니다. 등록 기간: 2024년 6월 21일 - 2024년 10월 21일 신청 요구 사항: 이번 HarmonyOSNEXT Cangjie 언어 개발자 미리 보기 베타 모집 이벤트는 다음 개발자에게만 공개됩니다. 1) Huawei 개발자 연합 인증에 실명이 입력되었습니다. 2) H를 완료하세요.

    텐진대학교와 베이항대학교는 화웨이의 '창힐(Cangjie)' 프로젝트에 깊이 관여해 국내 프로그래밍 언어를 기반으로 한 최초의 AI 에이전트 프로그래밍 프레임워크 '창치옹(Cangqiong)'을 출시했다. 텐진대학교와 베이항대학교는 화웨이의 '창힐(Cangjie)' 프로젝트에 깊이 관여해 국내 프로그래밍 언어를 기반으로 한 최초의 AI 에이전트 프로그래밍 프레임워크 '창치옹(Cangqiong)'을 출시했다. Jun 23, 2024 am 08:37 AM

    6월 22일 이 사이트의 뉴스에 따르면 화웨이는 어제 화웨이가 자체 개발한 프로그래밍 언어인 창힐(Cangjie)을 전 세계 개발자들에게 선보였습니다. 이는 Cangjie 프로그래밍 언어가 최초로 공개된 것입니다. 이 사이트의 문의에 따르면 천진대학교와 베이징 항공우주대학교는 화웨이의 '창힐' 연구 개발에 깊이 관여한 것으로 나타났습니다. 천진대학교: Cangjie 프로그래밍 언어 컴파일러 천진대학교 지능컴퓨팅학과의 소프트웨어 엔지니어링 팀은 Huawei Cangjie 팀과 협력하여 Cangjie 프로그래밍 언어 컴파일러의 품질 보증 연구에 깊이 참여했습니다. 보고서에 따르면 Cangjie 컴파일러는 Cangjie 프로그래밍 언어와 공생하는 기본 소프트웨어입니다. Cangjie 프로그래밍 언어의 준비 단계에서는 이에 맞는 고품질 컴파일러가 핵심 목표 중 하나가 되었습니다. Cangjie 프로그래밍 언어가 발전함에 따라 Cangjie 컴파일러는 지속적으로 업그레이드되고 개선되고 있습니다. 지난 5년간 천진대학교

    Huawei가 자체 개발한 Cangjie 프로그래밍 언어 공식 웹사이트와 개발 문서가 온라인에 공개되어 처음으로 Hongmeng 생태계에 통합되었습니다. Huawei가 자체 개발한 Cangjie 프로그래밍 언어 공식 웹사이트와 개발 문서가 온라인에 공개되어 처음으로 Hongmeng 생태계에 통합되었습니다. Jun 22, 2024 am 03:10 AM

    HDC2024 화웨이 개발자 컨퍼런스 전인 6월 21일 이 사이트의 소식에 따르면 화웨이가 자체 개발한 창힐(Cangjie) 프로그래밍 언어가 공식 공개됐고 창힐 공식 웹사이트가 현재 온라인 상태다. 공식 웹사이트 소개에 따르면 Cangjie 프로그래밍 언어는 "기본 지능, 자연스러운 모든 시나리오, 고성능 및 강력한 보안"에 중점을 둔 모든 시나리오 지능을 위한 차세대 프로그래밍 언어입니다. Hongmeng 생태계에 통합하여 개발자에게 좋은 프로그래밍 경험을 제공하세요. 본 사이트에 첨부된 공식 홈페이지에는 AgentDSL이 내장된 네이티브 지능형 프로그래밍 프레임워크, 자연어 및 프로그래밍 언어의 유기적 통합, 단순화된 기호 표현, 자유로운 패턴 조합, 다양한 지능형 애플리케이션 개발 지원 등이 소개되어 있습니다. 모든 장면에 대한 본질적으로 가볍고 확장 가능한 런타임, 모듈식 계층 설계, 메모리가 아무리 작더라도 모든 시나리오 도메인 확장을 수용할 수 있습니다.

    화웨이 순혈 홍멍 생태계의 마지막 연결고리! 자체 개발한 Cangjie 프로그래밍 언어 출시 예정 화웨이 순혈 홍멍 생태계의 마지막 연결고리! 자체 개발한 Cangjie 프로그래밍 언어 출시 예정 Jun 21, 2024 pm 03:23 PM

    6월 21일 뉴스에 따르면 오늘 오후 화웨이 개발자 컨퍼런스 2024가 공식적으로 개최될 예정입니다. 앞서 유청동이 공개한 계획에 따르면 '순혈 홍몽' 하모니 OS NEXT는 오늘 오후 공식 베타 버전이 발표될 예정이며, 일반 소비자도 '순혈 하모니'를 시험해 볼 수 있다. 보도에 따르면 지원되는 첫 번째 휴대폰은 Mate60 시리즈와 Pura70 시리즈입니다. "순수한 Hongmeng"인 HarmonyOSNEXT가 기존 Linux 커널과 AOSP Android 오픈 소스 코드를 제거하고 전체 스택을 자체적으로 개발했다는 ​​점은 주목할 가치가 있습니다. Sina Technology의 최신 보고서에 따르면 Huawei는 Hongmeng 생태계의 마지막 링크도 완성하고 세계에서 입지를 확장할 예정입니다.

    칭화대학교와 Zhipu AI 오픈 소스 GLM-4: 자연어 처리의 새로운 혁명 시작 칭화대학교와 Zhipu AI 오픈 소스 GLM-4: 자연어 처리의 새로운 혁명 시작 Jun 12, 2024 pm 08:38 PM

    2023년 3월 14일 ChatGLM-6B가 출시된 이후 GLM 시리즈 모델은 광범위한 관심과 인정을 받았습니다. 특히 ChatGLM3-6B가 오픈소스로 공개된 이후 개발자들은 Zhipu AI가 출시하는 4세대 모델에 대한 기대감이 가득합니다. 이러한 기대는 마침내 GLM-4-9B의 출시로 완전히 충족되었습니다. GLM-4-9B의 탄생 소형 모델(10B 이하)에 더욱 강력한 기능을 제공하기 위해 GLM 기술팀은 약 반년 만에 새로운 4세대 GLM 시리즈 오픈 소스 모델인 GLM-4-9B를 출시했습니다. 탐구. 이 모델은 정확성을 보장하면서 모델 크기를 크게 압축하고 추론 속도가 더 빠르고 효율성이 높습니다. GLM 기술팀의 탐색은 아직 이루어지지 않았습니다.

    Mistral 오픈 소스 코드 모델이 왕좌를 차지했습니다! Codestral은 80개 이상의 언어로 교육하는 데 열중하고 있으며 국내 Tongyi 개발자들이 참여를 요청하고 있습니다! Mistral 오픈 소스 코드 모델이 왕좌를 차지했습니다! Codestral은 80개 이상의 언어로 교육하는 데 열중하고 있으며 국내 Tongyi 개발자들이 참여를 요청하고 있습니다! Jun 08, 2024 pm 09:55 PM

    51CTO Technology Stack(WeChat ID: blog51cto)에서 제작 Mistral이 첫 번째 코드 모델 Codestral-22B를 출시했습니다! 이 모델의 놀라운 점은 많은 코드 모델이 무시하는 Swift 등을 포함하여 80개 이상의 프로그래밍 언어로 훈련되었다는 것 뿐만이 아닙니다. 그들의 속도는 정확히 동일하지 않습니다. Go 언어를 사용하여 "게시/구독" 시스템을 작성해야 합니다. 여기 GPT-4o가 출력되고 있는데 Codestral이 종이를 너무 빨리 넘겨서 보기 힘들 정도예요! 해당 모델은 출시된 지 얼마 되지 않아 아직 공개 테스트를 거치지 않았습니다. 하지만 Mistral 담당자에 따르면 Codestral은 현재 가장 성능이 좋은 오픈 소스 코드 모델입니다. 사진에 관심 있는 친구들은 다음으로 이동할 수 있습니다. - 얼굴을 안아주세요: https

    See all articles