Php 如何使用curl处理2checkout的购买

Php 如何使用curl处理2checkout的购买,php,curl,payment-gateway,2checkout,Php,Curl,Payment Gateway,2checkout,我不确定论坛上是否已经有人问过这个问题,但我真的很难找到答案。在php中使用curl在2checkout上提交购买是否有api方法?因为他们目前正在推广的是此示例: <form action='https://www.2checkout.com/checkout/purchase' method='post'> <input type='hidden' name='sid' value='1303908' /> <input type='hidden' name='

我不确定论坛上是否已经有人问过这个问题,但我真的很难找到答案。在php中使用curl在2checkout上提交购买是否有api方法?因为他们目前正在推广的是此示例:

<form action='https://www.2checkout.com/checkout/purchase' method='post'>
<input type='hidden' name='sid' value='1303908' />
<input type='hidden' name='mode' value='2CO' />
<input type='hidden' name='li_0_name' value='invoice123' />
<input type='hidden' name='li_0_price' value='25.99' />
<input type='hidden' name='card_holder_name' value='Checkout Shopper' />
<input type='hidden' name='street_address' value='123 Test Address' />
<input type='hidden' name='street_address2' value='Suite 200' />
<input type='hidden' name='city' value='Columbus' />
<input type='hidden' name='state' value='OH' />
<input type='hidden' name='zip' value='43228' />
<input type='hidden' name='country' value='USA' />
<input type='hidden' name='email' value='example@2co.com' />
<input type='hidden' name='phone' value='614-921-2450' />
<input name='submit' type='submit' value='Checkout' />
</form>
我就是这样做的,但它不会在2checkout上添加购买,有人已经能够这样做了吗?如果不可能用curl加密数据,也许就足够了,但我不知道怎么做,我也可以用一个秘密字或其他什么。请告诉我,我现在真的需要一些启示。欢迎您在这里回答:


提前感谢。

关于这个问题,我发了电子邮件给2个heckout,这是他们的回复:

不幸的是,由于信息是通过HTML表单提交的,这确实使它容易受到黑客的攻击。您可以从Play参数集创建订单,您可以在2Checkout供应商区域中创建订单,并在销售时向我们提交产品ID。这样,黑客就无法改变价格


此外,我们有一些预先构建的服务器端编码库,您可以使用它们创建html表单,并通过调用库自动提交给我们。虽然它仍然会创建一个HTML表单,但修改它的机会会减少。这些库位于此处:如果您想查看。

您找到解决方案了吗?我也面临同样的问题issue@AymanAbdel-Rahman不,在我就这个问题联系2checkout后,我还没有找到任何解决方案。他们说他们仍在处理这个问题,所以我们没有使用2checkout,而是决定切换到paypal并使用他们的api进行交易,因为我们无法继续他们目前提供的程序危害我们网站的安全性,但请尝试再次联系他们,看看他们是否为此创建了api,我去年就这个问题与他们联系过,可能有些事情发生了变化。感谢提供的信息,我稍后会对此进行检查。我们之所以没有使用这个api,是因为我们需要直接在他们的网站上设置产品,这是我们不想要的,因为当客户购买产品时,这可能会增加客户方面的成本,我们还设置了我们自己的电子商务网站,在那里可以满足包括支付在内的交易。当你使用他们的api时,就像你在他们的网站上为你的产品设置支付双倍的费用一样,每一笔交易都会从客户的付款中扣除一笔费用,这是正常的,但客户说他好像再也得不到任何回报了。是的,他们确实会为每一笔交易收取高额利润。你现在使用的是哪种支付网关?还是贝宝好消息是他们接受信用卡坏消息是它只在美国允许,其他国家还不允许
$curl = curl_init('https://www.2checkout.com/checkout/purchase');
        $data = array();
        curl_setopt($curl, CURLOPT_HTTPHEADER, array("Accept: application/json"));
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_USERAGENT, "2Checkout PHP/0.1.0");
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$data['sid']='1303908';...
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_exec($curl);
        curl_close($curl);