通过信用卡PHP Codeigniter支付Paypal平行付款

时间:2016-11-29 08:38:09

标签: php codeigniter paypal

我正在开发一款应用程序,需要通过支付网关(如paypal)通过信用卡进行并行支付, 我目前正在使用此API .. https://github.com/angelleye/paypal-codeigniter 这个api完全适用于贝宝支付并行支付,但我不知道如何在这个API中整合信用卡。 如果您有任何答案,请告诉我。感谢

function Pay_chained()
{
    // 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' => site_url('paypal/adaptive_payments/pay_cancel'),                                     // 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' => 'EACHRECEIVER',                                  // The payer of the fees.  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' => '',                                       // 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' => site_url('paypal/adaptive_payments/pay_return'),                                     // 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' => 'testingOcta@gmail.com',                               // Sender's email address.  127 char max.
                            'TrackingID' => ''                                  // Unique ID that you specify to track the payment.  127 char max.
                            );

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

    $FundingTypes = array('ECHECK', 'BALANCE', 'CREDITCARD');

    $Receivers = array();
    $Receiver = array(
                    'Amount' => '100.00',                                           // Required.  Amount to be paid to the receiver.
                    'Email' => 'waseemdildar67@gmail.com',                                              // Receiver's email address. 127 char max.
                    'InvoiceID' => '123ABCDEF',                                             // The invoice number for the payment.  127 char max.
                    'PaymentType' => 'SERVICE',                                         // Transaction type.  Values are:  GOODS, SERVICE, PERSONAL, CASHADVANCE, DIGITALGOODS
                    'PaymentSubType' => '',                                     // The transaction subtype for the payment.
                    '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' => '10.00',                                            // Required.  Amount to be paid to the receiver.
                    'Email' => 'OctaTesting-buyer@gmail.com',                                               // Receiver's email address. 127 char max.
                    'InvoiceID' => '123ABCDEF',                                             // The invoice number for the payment.  127 char max.
                    'PaymentType' => 'SERVICE',                                         // Transaction type.  Values are:  GOODS, SERVICE, PERSONAL, CASHADVANCE, DIGITALGOODS
                    'PaymentSubType' => '',                                     // The transaction subtype for the payment.
                    '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);

    $Receiver = array(
                    'Amount' => '10.00',                                            // Required.  Amount to be paid to the receiver.
                    'Email' => 'octasolutionx-facilitator@gmail.com',                                               // Receiver's email address. 127 char max.
                    'InvoiceID' => '123ABCDEF',                                             // The invoice number for the payment.  127 char max.
                    'PaymentType' => 'SERVICE',                                         // Transaction type.  Values are:  GOODS, SERVICE, PERSONAL, CASHADVANCE, DIGITALGOODS
                    'PaymentSubType' => '',                                     // The transaction subtype for the payment.
                    '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' => ''                      // If TRUE, use credentials to identify the sender.  Default is false.
                                    );

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

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

    $PayPalResult = $this->paypal_adaptive->Pay($PayPalRequestData);

    if(!$this->paypal_adaptive->APICallSuccessful($PayPalResult['Ack']))
    {
        $errors = array('Errors'=>$PayPalResult['Errors']);
        $this->load->view('paypal/samples/error',$errors);
    }
    else
    {
        // Successful call.  Load view or whatever you need to do here.
        echo '<pre />';
        print_r($PayPalResult);
        echo '<p><a href="' . $PayPalResult['RedirectURL'] . '">PROCEED TO PAYPAL</a></p>';
    }
}

0 个答案:

没有答案