gpt4 book ai didi

php - 动态 Paypal 按钮加密

转载 作者:IT王子 更新时间:2023-10-29 00:10:52 25 4
gpt4 key购买 nike

我正在使用 PHP 和 Mysql 设计一个订单网站。在最后阶段,用户将获得 Paypal 按钮以支付他所下订单的费用。因此,项目名称、值是变量。这些值是变量,我不能使用 Paypal 的加密按钮。在向用户显示之前,我必须使用未加密的按钮或对其进行加密。

出于安全原因,我希望对其进行加密。我想知道如何在我的服务器上执行此操作。

最佳答案

你需要做的事情相当复杂,首先,intro, paypal encrypted buttons有如下布局:

    <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIIEQYJKo...Encrypted stuff...IF5ioje8JH0LAA+5U7P+tabAMOL37k=-----END PKCS7-----">
<input type="image" src="https://www.paypalobjects.com/es_XC/MX/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal, la forma más segura y rápida de pagar en línea.">
<img alt="" border="0" src="https://www.paypalobjects.com/es_XC/i/scr/pixel.gif" width="1" height="1">
</form>

cmd 字段表示加密的立即购买按钮(检查您要创建的按钮的值),加密字段是以下布局中按钮的实际内容:

    cert_id=ZQCMJTZS27U4F
cmd=_xclick
business=contact@mybiz.com
item_name=Handheld Computer
item_number=1234
custom=sc-id-789
amount=500.00
currency_code=USD
tax=41.25
shipping=20.00
no_note=1
cancel_return=http://www.company.com/cancel.htm

请注意,它们采用 pair=value 格式,完整引用请看这里:https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables .

现在理论上,要获得加密字段,加密良好,您需要使用您的证书(x509 证书)和您的私钥对这些值进行签名,然后您需要使用 paypal 的公共(public)证书加密此签名消息。

开始练习,您可以(需要)使用以下两个 PHP 函数(OpenSSL 扩展的一部分):openssl_pkcs7_sign 和 openssl_pkcs7_encrypt。

我发现这最后一部分的设置非常棘手,所以我建议您在此处下载适用于 PayPal 的 PHP SDK:https://www.x.com/community/ppx/sdks#WPST直接在这里:https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_PHP_WPS_Toolkit.zip ,这个 SDK 附带了 EWPServices 类,它包含方法 encryptButton ,它可以很容易地为您提供加密按钮;如果您想查看骨骼,请查看 PPCrypto 类,它为您提供了 signAndEncrypt 方法,它只为您提供该字段所需的加密字符串,并向您展示了加密按钮的过程。

顺便说一句,如果您不知道如何获得证书和私钥(和/或 Paypal 的证书),请看这里:https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_encryptedwebpayments#id08A3I0N30Y4

关于php - 动态 Paypal 按钮加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com