Paypal自适应支付不显示运费

Paypal自适应支付不显示运费,paypal,payment,Paypal,Payment,一旦用户被重定向到paypal,是否有办法显示运费 我尝试了setPaymentOption,但没有任何帮助 这是我的密码- 此函数正在生成payKey function process_payment($JobId,$company_email,$file_id,$printer_id,$cost){ require('/includes/assets/paypal_config/config.php'); require('admin/config/rs_server.php

一旦用户被重定向到paypal,是否有办法显示运费

我尝试了
setPaymentOption
,但没有任何帮助

这是我的密码-

此函数正在生成payKey

function process_payment($JobId,$company_email,$file_id,$printer_id,$cost){
    require('/includes/assets/paypal_config/config.php');
    require('admin/config/rs_server.php');

  //  $secondryReceiverQuery = "UPDATE 3d_job_info set pay_key = '".$PayPalResult['PayKey']."'  WHERE job_id ='$JobId'";

  //  $jobInsertQrrRes = mysqli_query($DB_CONN,$jobInsertQrr); 
 //  $cost =$cost+10; 
$primary_amt = ((12/100)*$cost) ;
$secondary_amt = $cost - $primary_amt;

// Create PayPal object.
       $PayPalConfig = array(
           'Sandbox' => $sandbox,
           'DeveloperAccountEmail' => $developer_account_email,
           'ApplicationID' => $application_id,
           'DeviceID' => $device_id,
           'IPAddress' => $_SERVER['REMOTE_ADDR'],
           'APIUsername' => $api_username,
           'APIPassword' => $api_password,
           'APISignature' => $api_signature,
           'APISubject' => $api_subject,
           'PrintHeaders' => $print_headers, 
           'LogResults' => $log_results, 
           'LogPath' => $log_path,
       );

       $PayPal = new  Adaptive($PayPalConfig);


       // Prepare request arrays
       $PayRequestFields = array(
           'ActionType' => 'PAY_PRIMARY', // Required.  Whether the request pays the receiver or whether the request is set up to create a payment request, but not fulfill the payment until the ExecutePayment is called.  Values are:  PAY, CREATE, PAY_PRIMARY
           'CancelURL' => $domain."index.php?t=cancel_payment&jobid=$JobId",// Required.  The URL to which the sender's browser is redirected if the sender cancels the approval for the payment after logging in to paypal.com.  1024 char max.
           'CurrencyCode' => 'USD', // Required.  3 character currency code.
           'FeesPayer' => 'PRIMARYRECEIVER',// The payer of the fees.lol  Values are:  SENDER, PRIMARYRECEIVER, EACHRECEIVER, SECONDARYONLY
           'IPNNotificationURL' => '', // The URL to which you want all IPN messages for this payment to be sent.  1024 char max.
           'Memo' => 'This transection is from localhost', // A note associated with the payment (text, not HTML).  1000 char max
           'Pin' => '', // The sener's personal id number, which was specified when the sender signed up for the preapproval
           'PreapprovalKey' => '',// The key associated with a preapproval for this payment.  The preapproval is required if this is a preapproved payment.  
           'ReturnURL' => $domain."index.php?t=payment_success&jobid=$JobId", // Required.  The URL to which the sener"s browser is redirected after approvaing a payment on paypal.com.  1024 char max.
           'ReverseAllParallelPaymentsOnError' => '',// Whether to reverse paralel payments if an error occurs with a payment.  Values are:  TRUE, FALSE
           'SenderEmail' => '',// Sender's email address.  127 char max.
           'TrackingID' => '',// Unique ID that you specify to track the payment.  127 char max.
       );

       $ClientDetailsFields = array(
           'CustomerID' => '45', // Your ID for the sender  127 char max.
           'CustomerType' => 'type', // Your ID of the type of customer.  127 char max.
           'GeoLocation' => '',// Sender's geographic location
           'Model' => 'zxc', // A sub-identification of the application.  127 char max.
           'PartnerName' => 'zxc'   // Your organization's name or ID
       );

       $FundingTypes = array('ECHECK', 'BALANCE', 'CREDITCARD');// Funding constrainigs require advanced permissions levels.

       $Receivers = array();
       $Receiver = array(
           'Amount' =>$cost,// Required.  Amount to be paid to the receiver.
           'Email' => 'payment@creiterate.com', // Receiver's email address. 127 char max.
           'InvoiceID' => '', // The invoice number for the payment.  127 char max.
           'PaymentType' => 'GOODS', // Transaction type.  Values are:  GOODS, SERVICE, PERSONAL, CASHADVANCE, DIGITALGOODS
           'PaymentSubType' => '', // The transaction subtype for the payment.
           'AccountID' => '',
           'Phone' => array('CountryCode' => '', 'PhoneNumber' => '', 'Extension' => ''), // Receiver's phone number.   Numbers only.
           'Primary' => 'true'  // Whether this receiver is the primary receiver.  Values are boolean:  TRUE, FALSE
       );
       array_push($Receivers,$Receiver);

       $Receiver = array(
           'Amount' => $secondary_amt,// Required.  Amount to be paid to the receiver.
           'Email' => $company_email,                                               // Receiver's email address. 127 char max.
           'InvoiceID' => '',// The invoice number for the payment.  127 char max.
           'PaymentType' => '',// Transaction type.  Values are:  GOODS, SERVICE, PERSONAL, CASHADVANCE, DIGITALGOODS
           'PaymentSubType' => '',// The transaction subtype for the payment.
           'AccountID' => '',
           'Phone' => array('CountryCode' => '', 'PhoneNumber' => '', 'Extension' => ''), // Receiver's phone number.   Numbers only.
           'Primary' => 'false'// Whether this receiver is the primary receiver.  Values are boolean:  TRUE, FALSE
       );
      array_push($Receivers,$Receiver);



       $SenderIdentifierFields = array(
          'UseCredentials' => TRUE// If TRUE, use credentials to identify the sender.  Default is false.
       );

       $AccountIdentifierFields = array(
           'Email' => $_SESSION['loggin_info']['email_address'],// Sender's email address.  127 char max.
           'Phone' => array('CountryCode' => '', 'PhoneNumber' => '', 'Extension' => '')// Sender's phone number.  Numbers only.
       );

       $PayPalRequestData = array(
           'PayRequestFields' => $PayRequestFields, 
           'ClientDetailsFields' => $ClientDetailsFields, 
        //  'CreateInvoiceFields' => $CreateInvoiceFields, 
           //'FundingTypes' => $FundingTypes, 
           'Receivers' => $Receivers, 
           'SenderIdentifierFields' => $SenderIdentifierFields, 
           'AccountIdentifierFields' => $AccountIdentifierFields
       );


       // Pass data into class for processing with PayPal and load the response array into $PayPalResult
       $PayPalResult = $PayPal->Pay($PayPalRequestData);

//Before redirecting setting the pay option here     
 setPaymentOption($PayPalResult['PayKey'],$PayPal,$cost);
    header("Location: ". $PayPalResult['RedirectURL']);

} 
这是我的设置付款选项功能

function setPaymentOption($PayKey,$PayPal,$cost){
require('/../assets/paypal_config/config.php');
require('/admin/config/rs_server.php');    
// Create PayPal object.
$PayPalConfig = array(
    'Sandbox' => $sandbox,
    'DeveloperAccountEmail' => $developer_account_email,
    'ApplicationID' => $application_id,
    'DeviceID' => $device_id,
    'IPAddress' => $_SERVER['REMOTE_ADDR'],
    'APIUsername' => $api_username,
    'APIPassword' => $api_password,
    'APISignature' => $api_signature,
    'APISubject' => $api_subject, 
    'PrintHeaders' => $print_headers,
    'LogResults' => $log_results, 
    'LogPath' => $log_path,
    );

   //  $PayPal = new  Adaptive($PayPalConfig);

// Prepare request arrays
$SPOFields = array(
    'PayKey' => $PayKey,                            // Required.  The pay key that identifies the payment for which you want to set payment options.  
    'ShippingAddressID' => ''                   // Sender's shipping address ID.
    );

$DisplayOptions = array(
'EmailHeaderImageURL' => '',            // The URL of the image that displays in the header of customer emails.  1,024 char max.  Image dimensions:  43 x 240
'EmailMarketingImageURL' => 'http://www.angelleye.com/images/email_marketing_image.jpg',        // The URL of the image that displays in the customer emails.  1,024 char max.  Image dimensions:  80 x 530
'HeaderImageURL' => 'http://www.angelleye.com/header_image.jpg',                // The URL of the image that displays in the header of a payment page.  1,024 char max.  Image dimensions:  750 x 90
'BusinessName' => 'Test business'                   // The business name to display.  128 char max.
);

$InstitutionCustomer = array(
'CountryCode' => 'US',              // Required.  2 char code of the home country of the end user.
'DisplayName' => 'Tester Testerson',                // Required.  The full name of the consumer as known by the institution.  200 char max.
'InstitutionCustomerEmail' => 'payment@creiterate.com ',    // The email address of the consumer.  127 char max.
'FirstName' => 'Tester',                    // Required.  The first name of the consumer.  64 char max.
'LastName' => 'Testerson',                  // Required.  The last name of the consumer.  64 char max.
'InstitutionCustomerID' => '12345',         // Required.  The unique ID assigned to the consumer by the institution.  64 char max.
'InstitutionID' => '6V8R7B4KPS22E'              // Required.  The unique ID assigned to the institution.  64 char max.
);

$SenderOptions = array(
    'RequireShippingAddressSelection' => '' // Boolean.  If true, require the sender to select a shipping address during the embedded payment flow.  Default is false.
  );

// Begin loop to populate receiver options.
$ReceiverOptions = array();
$ReceiverOption = array(
        'Description' => 'Test Hello',                  // A description you want to associate with the payment.  1000 char max.
        'CustomID' => ''                        // An external reference number you want to associate with the payment.  1000 char max.
);
 $cost =$cost-10;   
$InvoiceData = array(
        'TotalTax' => '',                           // Total tax associated with the payment.
        'TotalShipping' => '10'                         // Total shipping associated with the payment.
);

$InvoiceItems = array();
$InvoiceItem = array(
        'Name' => 'Widget ABC',                                 // Name of item.
        'Identifier' => '',                         // External reference to item or item ID.
        'Price' => $cost,                               // Total of line item.
        'ItemPrice' => $cost,                           // Price of an individual item.
        'ItemCount' => '1'                          // Item QTY
);
array_push($InvoiceItems,$InvoiceItem);



$PayPalRequestData = array(
                'SPOFields' => $SPOFields, 
                'DisplayOptions' => $DisplayOptions, 
                 'InstitutionCustomer' => $InstitutionCustomer, 
                'SenderOptions' => $SenderOptions, 
                'ReceiverOptions' => $ReceiverOptions
                );

// Pass data into class for processing with PayPal and load the response array into $PayPalResult
$PayPalResult = $PayPal->SetPaymentOptions($PayPalRequestData);

}

你用
setPaymentOption
到底尝试了什么?该对象有很多观点,你能发布一些代码吗?你应该点击问题下方的“编辑”。这是在堆栈溢出时执行此操作的正确方法。