0
私は2つのパートのフォームを持っています。パート1は電子メールアドレス、物理アドレスを要求します。パート2は、一度提出され、データは次のようになります。Authorize.net Hosted Paymentフォームプレフィルアドレスと電子メール情報
[name_first] => John
[name_last] => Doe
[email] => [email protected]
[invoice] => 12345
[price] => 35
[address_street address] => PO Box 123
[address_address line 2] =>
[address_city] => Anytown
[address_state] => NY
[address_zip] => 12345
[address_country] => USA
私は訪問者がそれを2回に記入する必要がないように、そして、ホストお支払いフォームに住所と請求書番号を事前入力します。私は、トークンを生成するAuth.netサンプルコードを使用していると私は支払い金額を渡すことができますが、私はどのように他のフォームを生成するためにデータを通過するのですか?
<?php
require dirname(__FILE__).'/../vendor/autoload.php';
use net\authorize\api\contract\v1 as AnetAPI;
use net\authorize\api\controller as AnetController;
use net\authorize\api\constants as ANetEnvironment;
define("AUTHORIZENET_LOG_FILE", "phplog");
function getAnAcceptPaymentPage($values = array())
{
// Common setup for API credentials
$merchantAuthentication = new AnetAPI\MerchantAuthenticationType();
$merchantAuthentication->setName('5KP3u95bQpv');
$merchantAuthentication->setTransactionKey("xxxxxxxx");
//create a transaction
$transactionRequestType = new AnetAPI\TransactionRequestType();
$transactionRequestType->setTransactionType("authCaptureTransaction");
$transactionRequestType->setAmount($values['price']);
echo '<P> :: ' . $transactionRequestType->getCustomer() . '</p>';
// Set Hosted Form options
$setting1 = new AnetAPI\SettingType();
$setting1->setSettingName("hostedPaymentButtonOptions");
$setting1->setSettingValue("{\"text\": \"Pay\"}");
$setting2 = new AnetAPI\SettingType();
$setting2->setSettingName("hostedPaymentOrderOptions");
$setting2->setSettingValue("{\"show\": true}");
$setting3 = new AnetAPI\SettingType();
$setting3->setSettingName("hostedPaymentReturnOptions");
$setting3->setSettingValue("{\"url\": \"$values[receipt_url]\", \"cancelUrl\": \"$values[cancel_url]\", \"showReceipt\": true}");
// Build transaction request
$request = new AnetAPI\GetHostedPaymentPageRequest();
$request->setMerchantAuthentication($merchantAuthentication);
$request->setTransactionRequest($transactionRequestType);
$request->addToHostedPaymentSettings($setting1);
$request->addToHostedPaymentSettings($setting2);
$request->addToHostedPaymentSettings($setting3);
//execute request
$controller = new AnetController\GetHostedPaymentPageController($request);
$response = $controller->executeWithApiResponse(\net\authorize\api\constants\ANetEnvironment::SANDBOX);
if (($response != null) && ($response->getMessages()->getResultCode() == "Ok"))
{
return $response->getToken()."\n";
}
else
{
echo "ERROR : Failed to get hosted payment page token\n";
$errorMessages = $response->getMessages()->getMessage();
echo "RESPONSE : " . $errorMessages[0]->getCode() . " " .$errorMessages[0]->getText() . "\n";
}
return $response;
}
?>
これはauth.netのサンプルコードに含まれているテストです – TH1981
非常に良いです。 – NexusWebDevelopment