Exemplo n.º 1
0
use Riskified\OrderWebhook\Transport;
# Replace with the 'shop domain' of your account in Riskified
$domain = "[your shop domain as registered to Riskified]";
# Replace with the 'auth token' listed in the Riskified web app under the 'Settings' Tab
$authToken = "[your authentication token string]";
Riskified::init($domain, $authToken, Env::SANDBOX, Validations::ALL);
$order_details = array('id' => 'ch567', 'name' => '#1234', 'email' => 'erin.o\'*****@*****.**', 'created_at' => '2010-01-10T11:00:00-05:00', 'closed_at' => null, 'currency' => 'CAD', 'updated_at' => '2010-01-10T11:00:00-05:00', 'gateway' => 'mypaymentprocessor', 'browser_ip' => '124.185.86.55', 'total_price' => 113.23, 'total_discounts' => 5.0, 'cart_token' => '1sdaf23j212', 'additional_emails' => array('*****@*****.**', '*****@*****.**', 'third!2@email.rr.com'), 'note' => 'Shipped to my hotel.', 'referring_site' => 'google.com', 'line_items' => array(new Model\LineItem(array('price' => 100, 'quantity' => 1, 'title' => 'ACME Widget', 'product_id' => '101', 'sku' => 'ABCD', 'delivered_to' => 'store_pickup', 'size' => '13', 'release_date' => '2016-03-10T11:00:00-05:00', 'seller' => new Model\Seller(array('customer' => new Model\Customer(array('email' => '*****@*****.**', 'first_name' => 'Firstname', 'last_name' => 'Lastname', 'id' => '1233', 'created_at' => '2008-01-10T11:00:00-05:00', 'orders_count' => 6, 'verified_email' => true, 'account_type' => 'free', 'buy_attempts' => 3, 'sell_attempts' => 44))))), new Model\LineItem(array('title' => 'Giftcard', 'price' => 100, 'quantity' => 1, 'requires_shipping' => false, 'delivered_at' => '2017-03-10T11:00:00-05:00')), new Model\LineItem(array('price' => 200, 'quantity' => 4, 'title' => 'ACME Spring', 'product_id' => '202', 'sku' => 'EFGH', 'category' => 'ACME Spring Category', 'sub_category' => 'ACME Spring Sub Category')))), 'discount_codes' => new Model\DiscountCode(array('amount' => 19.95, 'code' => '12')), 'shipping_lines' => new Model\ShippingLine(array('title' => 'FedEx', 'price' => 123.0, 'code' => 'Free')), 'payment_details' => new Model\PaymentDetails(array('credit_card_bin' => '370002', 'credit_card_number' => 'xxxx-xxxx-xxxx-1234', 'credit_card_company' => 'VISA', 'credit_card_token' => '0022334466')), 'customer' => new Model\Customer(array('email' => '*****@*****.**', 'first_name' => 'Firstname', 'last_name' => 'Lastname', 'id' => '1233', 'created_at' => '2008-01-10T11:00:00-05:00', 'orders_count' => 6, 'verified_email' => true, 'account_type' => 'free', 'buy_attempts' => 5, 'sell_attempts' => 7)), 'billing_address' => new Model\Address(array('first_name' => 'John', 'last_name' => 'Doe', 'address1' => '108 Main Street', 'company' => 'Kansas Computers', 'country' => 'United States', 'country_code' => 'US', 'phone' => '1234567', 'city' => 'NYC', 'name' => 'John Doe', 'address2' => 'Apartment 12', 'province' => 'New York', 'province_code' => 'NY', 'zip' => '64155')), 'shipping_address' => new Model\Address(array('first_name' => 'John', 'last_name' => 'Doe', 'address1' => '108 Main Street', 'company' => 'Kansas Computers', 'country' => 'United States', 'country_code' => 'US', 'phone' => '1234567', 'city' => 'NYC', 'name' => 'John Doe', 'address2' => 'Apartment 12', 'province' => 'New York', 'province_code' => 'NY', 'zip' => '64155')), 'charge_free_payment_details' => new Model\ChargeFreePaymentDetails(array('gateway' => 'giftcard', 'amount' => '50')));
# Create a curl transport to the Riskified Server
$transport = new Transport\CurlTransport(new Signature\HttpDataSignature());
$transport->timeout = 10;
#### Create Checkout
$checkout = new Model\Checkout($order_details);
$response = $transport->createCheckout($checkout);
echo PHP_EOL . "Create Checkout succeeded. Response: " . PHP_EOL . json_encode($response) . PHP_EOL;
#### Notify Checkout Denied
$response = $transport->deniedCheckout($checkout);
echo PHP_EOL . "Denied Checkout succeeded. Response: " . PHP_EOL . json_encode($response) . PHP_EOL;
#### Create and Submit Order
$order = new Model\Order($order_details);
$order->checkout_id = $order->id;
$order->id = 'or1234';
$order->payment_details->avs_result_code = 'Y';
$order->payment_details->cvv_result_code = 'N';
$response = $transport->createOrder($order);
echo PHP_EOL . "Create Order succeeded. Response: " . PHP_EOL . json_encode($response) . PHP_EOL;
$response = $transport->submitOrder($order);
echo PHP_EOL . "Submit Order succeeded. Response: " . PHP_EOL . json_encode($response) . PHP_EOL;
#### Update Order
$updatedOrder = new Model\Order(array('id' => $order->id, 'email' => '*****@*****.**'));
$response = $transport->updateOrder($updatedOrder);
echo PHP_EOL . "Update Order succeeded. Response: " . PHP_EOL . json_encode($response) . PHP_EOL;