我正试着在MangoPay注册信用卡。
在我的服务文件中,我使用包mangopay/php-sdk-v2创建了一个注册卡的公共函数。
// ApiUser.php
public function Registration($UserId)
{
$CardRegistration = new \MangoPay\CardRegistration();
$CardRegistration->UserId = $UserId;
$CardRegistration->Currency = "EUR";
$CardRegistration->CardType = "CB_VISA_MASTERCARD";
$Result = $this->mangoPayApi->CardRegistrations->Create($CardRegistration);
$this->registration = $Result;
return $Result;
}其结果将是一个对象,包含三个主键:AccessKey、PreRegistrationData和CardRegistrationURL。
{
[...]
"AccessKey": "1X0m87dmM2LiwFgxPLBJ",
"PreregistrationData": "YkgVxL1yNY4ZOfKtqEew_ZzBSGg0ie3ghohlFhb-37oidM_c0HMmR9H0WvKWb8pa2ddFLVXdicolcUIkv_kKEA",
"CardRegistrationURL": "https://homologation-webpayment.payline.com/webpayment/getToken",
[...]
}在尝试使用PostMan时,我只需在CardRegistrationURL中获取URL,并在其body中添加:data和PreRegistrationData,accessKeyRef有AccessKey和cardNumber,cardExpirationDate和cardCvx ( Content-Type是x-www-urlencoded)
单击Send按钮后,它的响应将是一个由data=启动的长字符串。
使用该字符串,我可以最终更新CardRegistration对象,并向MangoPay上的用户提供信用卡。
问题是,在编写代码时,我无法找到获得CardRegistrationURL响应的方法。
我尝试在使用POST包时执行http-client,但是给出的响应是一个对象。我已经检查过它是否存在于对象中,但事实并非如此。
我还试着检查一下:https://github.com/Mangopay/mangopay2-php-sdk/blob/master/demos/paymentDirect/payment.php,并试图模仿它,但没有成功。
发布于 2022-04-12 08:28:31
警告:您不必在服务器端收集卡的详细信息,您必须创建如下HTML表单
<form action="CardRegistrationURL here">
// inputs for cardNumber, expiration date ...
// You can add an input to redirect your user after card registration, ex:
// <input name="returnUrl" value="https://youwebsite.com">
</form>您的用户将被重定向到MangoPay服务器,然后返回到您的网站。当用户返回您的网站时,使用请求数据更新卡注册并做相关的事情。
文档不是很清楚,请不要犹豫地要求MangoPay支持。
https://stackoverflow.com/questions/71830776
复制相似问题